LLVM 20.0.0git
Macros | Typedefs | Functions | Variables
AArch64Disassembler.cpp File Reference
#include "AArch64Disassembler.h"
#include "AArch64ExternalSymbolizer.h"
#include "MCTargetDesc/AArch64AddressingModes.h"
#include "MCTargetDesc/AArch64MCTargetDesc.h"
#include "TargetInfo/AArch64TargetInfo.h"
#include "Utils/AArch64BaseInfo.h"
#include "llvm/MC/MCDecoderOps.h"
#include "llvm/MC/MCDisassembler/MCRelocationInfo.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include <memory>
#include "AArch64GenDisassemblerTables.inc"
#include "AArch64GenInstrInfo.inc"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "aarch64-disassembler"
 
#define Success   MCDisassembler::Success
 
#define Fail   MCDisassembler::Fail
 
#define SoftFail   MCDisassembler::SoftFail
 

Typedefs

using DecodeStatus = MCDisassembler::DecodeStatus
 

Functions

template<unsigned RegClassID, unsigned FirstReg, unsigned NumRegsInClass>
static DecodeStatus DecodeSimpleRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeGPR64x8ClassRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
template<unsigned Min, unsigned Max>
static DecodeStatus DecodeZPRMul2_MinMax (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeZK (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
template<unsigned Min, unsigned Max>
static DecodeStatus DecodeZPR2Mul2RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeZPR4Mul4RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
template<unsigned NumBitsForTile>
static DecodeStatus DecodeMatrixTile (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeMatrixTileListRegisterClass (MCInst &Inst, unsigned RegMask, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodePPR2Mul2RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeFixedPointScaleImm32 (MCInst &Inst, unsigned Imm, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeFixedPointScaleImm64 (MCInst &Inst, unsigned Imm, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodePCRelLabel16 (MCInst &Inst, unsigned Imm, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodePCRelLabel19 (MCInst &Inst, unsigned Imm, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodePCRelLabel9 (MCInst &Inst, unsigned Imm, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeMemExtend (MCInst &Inst, unsigned Imm, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeMRSSystemRegister (MCInst &Inst, unsigned Imm, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeMSRSystemRegister (MCInst &Inst, unsigned Imm, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeThreeAddrSRegInstruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeMoveImmInstruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeUnsignedLdStInstruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeSignedLdStInstruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeExclusiveLdStInstruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodePairLdStInstruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeAuthLoadInstruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeAddSubERegInstruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeLogicalImmInstruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeModImmInstruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeModImmTiedInstruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeAdrInstruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeAddSubImmShift (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeUnconditionalBranch (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeSystemPStateImm0_15Instruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeSystemPStateImm0_1Instruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeTestAndBranch (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeFMOVLaneInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeVecShiftR64Imm (MCInst &Inst, unsigned Imm, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeVecShiftR64ImmNarrow (MCInst &Inst, unsigned Imm, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeVecShiftR32Imm (MCInst &Inst, unsigned Imm, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeVecShiftR32ImmNarrow (MCInst &Inst, unsigned Imm, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeVecShiftR16Imm (MCInst &Inst, unsigned Imm, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeVecShiftR16ImmNarrow (MCInst &Inst, unsigned Imm, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeVecShiftR8Imm (MCInst &Inst, unsigned Imm, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeVecShiftL64Imm (MCInst &Inst, unsigned Imm, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeVecShiftL32Imm (MCInst &Inst, unsigned Imm, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeVecShiftL16Imm (MCInst &Inst, unsigned Imm, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeVecShiftL8Imm (MCInst &Inst, unsigned Imm, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeWSeqPairsClassRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeXSeqPairsClassRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeSyspXzrInstruction (MCInst &Inst, uint32_t insn, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeSVELogicalImmInstruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
template<int Bits>
static DecodeStatus DecodeSImm (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder)
 
template<int ElementWidth>
static DecodeStatus DecodeImm8OptLsl (MCInst &Inst, unsigned Imm, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeSVEIncDecImm (MCInst &Inst, unsigned Imm, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeSVCROp (MCInst &Inst, unsigned Imm, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeCPYMemOpInstruction (MCInst &Inst, uint32_t insn, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeSETMemOpInstruction (MCInst &Inst, uint32_t insn, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodePRFMRegInstruction (MCInst &Inst, uint32_t insn, uint64_t Address, const MCDisassembler *Decoder)
 
static MCDisassemblercreateAArch64Disassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx)
 
static MCSymbolizercreateAArch64ExternalSymbolizer (const Triple &TT, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp, void *DisInfo, MCContext *Ctx, std::unique_ptr< MCRelocationInfo > &&RelInfo)
 
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAArch64Disassembler ()
 
static DecodeStatus DecodeVecShiftRImm (MCInst &Inst, unsigned Imm, unsigned Add)
 
static DecodeStatus DecodeVecShiftLImm (MCInst &Inst, unsigned Imm, unsigned Add)
 
static bool isInvalidPState (uint64_t Op1, uint64_t Op2)
 
static DecodeStatus DecodeGPRSeqPairsClassRegisterClass (MCInst &Inst, unsigned RegClassID, unsigned RegNo, uint64_t Addr, const MCDisassembler *Decoder)
 

Variables

static const MCPhysReg MatrixZATileDecoderTable [5][16]
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "aarch64-disassembler"

Definition at line 31 of file AArch64Disassembler.cpp.

◆ Fail

#define Fail   MCDisassembler::Fail

Definition at line 221 of file AArch64Disassembler.cpp.

◆ SoftFail

#define SoftFail   MCDisassembler::SoftFail

Definition at line 222 of file AArch64Disassembler.cpp.

◆ Success

#define Success   MCDisassembler::Success

Definition at line 220 of file AArch64Disassembler.cpp.

Typedef Documentation

◆ DecodeStatus

Definition at line 34 of file AArch64Disassembler.cpp.

Function Documentation

◆ createAArch64Disassembler()

static MCDisassembler * createAArch64Disassembler ( const Target T,
const MCSubtargetInfo STI,
MCContext Ctx 
)
static

Definition at line 224 of file AArch64Disassembler.cpp.

Referenced by LLVMInitializeAArch64Disassembler().

◆ createAArch64ExternalSymbolizer()

static MCSymbolizer * createAArch64ExternalSymbolizer ( const Triple TT,
LLVMOpInfoCallback  GetOpInfo,
LLVMSymbolLookupCallback  SymbolLookUp,
void *  DisInfo,
MCContext Ctx,
std::unique_ptr< MCRelocationInfo > &&  RelInfo 
)
static

Definition at line 305 of file AArch64Disassembler.cpp.

Referenced by LLVMInitializeAArch64Disassembler().

◆ DecodeAddSubERegInstruction()

static DecodeStatus DecodeAddSubERegInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeAddSubImmShift()

static DecodeStatus DecodeAddSubImmShift ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeAdrInstruction()

static DecodeStatus DecodeAdrInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeAuthLoadInstruction()

static DecodeStatus DecodeAuthLoadInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

Definition at line 1290 of file AArch64Disassembler.cpp.

References Addr, Fail, llvm::MCInst::getOpcode(), SoftFail, and Success.

◆ DecodeCPYMemOpInstruction()

static DecodeStatus DecodeCPYMemOpInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

◆ DecodeExclusiveLdStInstruction()

static DecodeStatus DecodeExclusiveLdStInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

Definition at line 1027 of file AArch64Disassembler.cpp.

References Addr, Fail, llvm::MCInst::getOpcode(), SoftFail, and Success.

◆ DecodeFixedPointScaleImm32()

static DecodeStatus DecodeFixedPointScaleImm32 ( MCInst Inst,
unsigned  Imm,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeFixedPointScaleImm64()

static DecodeStatus DecodeFixedPointScaleImm64 ( MCInst Inst,
unsigned  Imm,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeFMOVLaneInstruction()

static DecodeStatus DecodeFMOVLaneInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeGPR64x8ClassRegisterClass()

static DecodeStatus DecodeGPR64x8ClassRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeGPRSeqPairsClassRegisterClass()

static DecodeStatus DecodeGPRSeqPairsClassRegisterClass ( MCInst Inst,
unsigned  RegClassID,
unsigned  RegNo,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

◆ DecodeImm8OptLsl()

template<int ElementWidth>
static DecodeStatus DecodeImm8OptLsl ( MCInst Inst,
unsigned  Imm,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

◆ DecodeLogicalImmInstruction()

static DecodeStatus DecodeLogicalImmInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeMatrixTile()

template<unsigned NumBitsForTile>
static DecodeStatus DecodeMatrixTile ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeMatrixTileListRegisterClass()

static DecodeStatus DecodeMatrixTileListRegisterClass ( MCInst Inst,
unsigned  RegMask,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeMemExtend()

static DecodeStatus DecodeMemExtend ( MCInst Inst,
unsigned  Imm,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeModImmInstruction()

static DecodeStatus DecodeModImmInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeModImmTiedInstruction()

static DecodeStatus DecodeModImmTiedInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeMoveImmInstruction()

static DecodeStatus DecodeMoveImmInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeMRSSystemRegister()

static DecodeStatus DecodeMRSSystemRegister ( MCInst Inst,
unsigned  Imm,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeMSRSystemRegister()

static DecodeStatus DecodeMSRSystemRegister ( MCInst Inst,
unsigned  Imm,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodePairLdStInstruction()

static DecodeStatus DecodePairLdStInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodePCRelLabel16()

static DecodeStatus DecodePCRelLabel16 ( MCInst Inst,
unsigned  Imm,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodePCRelLabel19()

static DecodeStatus DecodePCRelLabel19 ( MCInst Inst,
unsigned  Imm,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodePCRelLabel9()

static DecodeStatus DecodePCRelLabel9 ( MCInst Inst,
unsigned  Imm,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodePPR2Mul2RegisterClass()

static DecodeStatus DecodePPR2Mul2RegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static

◆ DecodePRFMRegInstruction()

static DecodeStatus DecodePRFMRegInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeSETMemOpInstruction()

static DecodeStatus DecodeSETMemOpInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

◆ DecodeSignedLdStInstruction()

static DecodeStatus DecodeSignedLdStInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeSImm()

template<int Bits>
static DecodeStatus DecodeSImm ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeSimpleRegisterClass()

template<unsigned RegClassID, unsigned FirstReg, unsigned NumRegsInClass>
static DecodeStatus DecodeSimpleRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeSVCROp()

static DecodeStatus DecodeSVCROp ( MCInst Inst,
unsigned  Imm,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeSVEIncDecImm()

static DecodeStatus DecodeSVEIncDecImm ( MCInst Inst,
unsigned  Imm,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

◆ DecodeSVELogicalImmInstruction()

static DecodeStatus DecodeSVELogicalImmInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeSyspXzrInstruction()

static DecodeStatus DecodeSyspXzrInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

◆ DecodeSystemPStateImm0_15Instruction()

static DecodeStatus DecodeSystemPStateImm0_15Instruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeSystemPStateImm0_1Instruction()

static DecodeStatus DecodeSystemPStateImm0_1Instruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeTestAndBranch()

static DecodeStatus DecodeTestAndBranch ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeThreeAddrSRegInstruction()

static DecodeStatus DecodeThreeAddrSRegInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeUnconditionalBranch()

static DecodeStatus DecodeUnconditionalBranch ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeUnsignedLdStInstruction()

static DecodeStatus DecodeUnsignedLdStInstruction ( MCInst Inst,
uint32_t  insn,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeVecShiftL16Imm()

static DecodeStatus DecodeVecShiftL16Imm ( MCInst Inst,
unsigned  Imm,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

Definition at line 637 of file AArch64Disassembler.cpp.

References DecodeVecShiftLImm().

◆ DecodeVecShiftL32Imm()

static DecodeStatus DecodeVecShiftL32Imm ( MCInst Inst,
unsigned  Imm,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

Definition at line 631 of file AArch64Disassembler.cpp.

References DecodeVecShiftLImm().

◆ DecodeVecShiftL64Imm()

static DecodeStatus DecodeVecShiftL64Imm ( MCInst Inst,
unsigned  Imm,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

Definition at line 625 of file AArch64Disassembler.cpp.

References DecodeVecShiftLImm().

◆ DecodeVecShiftL8Imm()

static DecodeStatus DecodeVecShiftL8Imm ( MCInst Inst,
unsigned  Imm,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

Definition at line 643 of file AArch64Disassembler.cpp.

References DecodeVecShiftLImm().

◆ DecodeVecShiftLImm()

static DecodeStatus DecodeVecShiftLImm ( MCInst Inst,
unsigned  Imm,
unsigned  Add 
)
static

◆ DecodeVecShiftR16Imm()

static DecodeStatus DecodeVecShiftR16Imm ( MCInst Inst,
unsigned  Imm,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

Definition at line 607 of file AArch64Disassembler.cpp.

References DecodeVecShiftRImm().

◆ DecodeVecShiftR16ImmNarrow()

static DecodeStatus DecodeVecShiftR16ImmNarrow ( MCInst Inst,
unsigned  Imm,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

Definition at line 613 of file AArch64Disassembler.cpp.

References DecodeVecShiftRImm().

◆ DecodeVecShiftR32Imm()

static DecodeStatus DecodeVecShiftR32Imm ( MCInst Inst,
unsigned  Imm,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

Definition at line 595 of file AArch64Disassembler.cpp.

References DecodeVecShiftRImm().

◆ DecodeVecShiftR32ImmNarrow()

static DecodeStatus DecodeVecShiftR32ImmNarrow ( MCInst Inst,
unsigned  Imm,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

Definition at line 601 of file AArch64Disassembler.cpp.

References DecodeVecShiftRImm().

◆ DecodeVecShiftR64Imm()

static DecodeStatus DecodeVecShiftR64Imm ( MCInst Inst,
unsigned  Imm,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

Definition at line 583 of file AArch64Disassembler.cpp.

References DecodeVecShiftRImm().

◆ DecodeVecShiftR64ImmNarrow()

static DecodeStatus DecodeVecShiftR64ImmNarrow ( MCInst Inst,
unsigned  Imm,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

Definition at line 589 of file AArch64Disassembler.cpp.

References DecodeVecShiftRImm().

◆ DecodeVecShiftR8Imm()

static DecodeStatus DecodeVecShiftR8Imm ( MCInst Inst,
unsigned  Imm,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

Definition at line 619 of file AArch64Disassembler.cpp.

References DecodeVecShiftRImm().

◆ DecodeVecShiftRImm()

static DecodeStatus DecodeVecShiftRImm ( MCInst Inst,
unsigned  Imm,
unsigned  Add 
)
static

◆ DecodeWSeqPairsClassRegisterClass()

static DecodeStatus DecodeWSeqPairsClassRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

Definition at line 1661 of file AArch64Disassembler.cpp.

References Addr, and DecodeGPRSeqPairsClassRegisterClass().

◆ DecodeXSeqPairsClassRegisterClass()

static DecodeStatus DecodeXSeqPairsClassRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Addr,
const MCDisassembler Decoder 
)
static

Definition at line 1668 of file AArch64Disassembler.cpp.

References Addr, and DecodeGPRSeqPairsClassRegisterClass().

◆ DecodeZK()

static DecodeStatus DecodeZK ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ DecodeZPR2Mul2RegisterClass()

template<unsigned Min, unsigned Max>
static DecodeStatus DecodeZPR2Mul2RegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static

◆ DecodeZPR4Mul4RegisterClass()

static DecodeStatus DecodeZPR4Mul4RegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static

◆ DecodeZPRMul2_MinMax()

template<unsigned Min, unsigned Max>
static DecodeStatus DecodeZPRMul2_MinMax ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const MCDisassembler Decoder 
)
static

◆ isInvalidPState()

static bool isInvalidPState ( uint64_t  Op1,
uint64_t  Op2 
)
static

◆ LLVMInitializeAArch64Disassembler()

LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAArch64Disassembler ( )

Variable Documentation

◆ MatrixZATileDecoderTable

const MCPhysReg MatrixZATileDecoderTable[5][16]
static
Initial value:
= {
{AArch64::ZAB0},
{AArch64::ZAH0, AArch64::ZAH1},
{AArch64::ZAS0, AArch64::ZAS1, AArch64::ZAS2, AArch64::ZAS3},
{AArch64::ZAD0, AArch64::ZAD1, AArch64::ZAD2, AArch64::ZAD3, AArch64::ZAD4,
AArch64::ZAD5, AArch64::ZAD6, AArch64::ZAD7},
{AArch64::ZAQ0, AArch64::ZAQ1, AArch64::ZAQ2, AArch64::ZAQ3, AArch64::ZAQ4,
AArch64::ZAQ5, AArch64::ZAQ6, AArch64::ZAQ7, AArch64::ZAQ8, AArch64::ZAQ9,
AArch64::ZAQ10, AArch64::ZAQ11, AArch64::ZAQ12, AArch64::ZAQ13,
AArch64::ZAQ14, AArch64::ZAQ15}}

Definition at line 424 of file AArch64Disassembler.cpp.

Referenced by DecodeMatrixTile().