LLVM 19.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-c/Disassembler.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 "llvm/Support/ErrorHandling.h"
#include <algorithm>
#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

static DecodeStatus DecodeFPR128RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeFPR128_loRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeFPR128_0to7RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeFPR64RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeFPR32RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeFPR16RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeFPR8RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeGPR64commonRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeGPR64RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeGPR64x8ClassRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeGPR64spRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeMatrixIndexGPR32_8_11RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMatrixIndexGPR32_12_15RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeGPR32RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeGPR32spRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeQQRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeQQQRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeQQQQRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeDDRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeDDDRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeDDDDRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeZPRRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeZPR_4bRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeZPR_3bRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeZPR2RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeZPR3RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodeZPR4RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
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)
 
static DecodeStatus DecodeZPR2StridedRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeZPR4StridedRegisterClass (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 DecodePPRRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodePPRorPNRRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Addr, const MCDisassembler *Decoder)
 
static DecodeStatus DecodePNRRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodePPR_3bRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodePNR_p8to15RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
 
static DecodeStatus DecodePPR2RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *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 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 34 of file AArch64Disassembler.cpp.

◆ Fail

#define Fail   MCDisassembler::Fail

Definition at line 313 of file AArch64Disassembler.cpp.

◆ SoftFail

#define SoftFail   MCDisassembler::SoftFail

Definition at line 314 of file AArch64Disassembler.cpp.

◆ Success

#define Success   MCDisassembler::Success

Definition at line 312 of file AArch64Disassembler.cpp.

Typedef Documentation

◆ DecodeStatus

Definition at line 37 of file AArch64Disassembler.cpp.

Function Documentation

◆ createAArch64Disassembler()

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

Definition at line 316 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 397 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

◆ DecodeCPYMemOpInstruction()

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

◆ DecodeDDDDRegisterClass()

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

◆ DecodeDDDRegisterClass()

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

◆ DecodeDDRegisterClass()

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

◆ DecodeExclusiveLdStInstruction()

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

◆ 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

◆ DecodeFPR128_0to7RegisterClass()

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

Definition at line 450 of file AArch64Disassembler.cpp.

References Addr, DecodeFPR128RegisterClass(), and Fail.

◆ DecodeFPR128_loRegisterClass()

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

Definition at line 442 of file AArch64Disassembler.cpp.

References Addr, DecodeFPR128RegisterClass(), and Fail.

◆ DecodeFPR128RegisterClass()

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

◆ DecodeFPR16RegisterClass()

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

◆ DecodeFPR32RegisterClass()

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

◆ DecodeFPR64RegisterClass()

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

◆ DecodeFPR8RegisterClass()

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

◆ DecodeGPR32RegisterClass()

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

◆ DecodeGPR32spRegisterClass()

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

◆ DecodeGPR64commonRegisterClass()

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

◆ DecodeGPR64RegisterClass()

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

◆ DecodeGPR64spRegisterClass()

static DecodeStatus DecodeGPR64spRegisterClass ( MCInst Inst,
unsigned  RegNo,
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

◆ DecodeMatrixIndexGPR32_12_15RegisterClass()

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

◆ DecodeMatrixIndexGPR32_8_11RegisterClass()

static DecodeStatus DecodeMatrixIndexGPR32_8_11RegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  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

◆ DecodePNR_p8to15RegisterClass()

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

Definition at line 794 of file AArch64Disassembler.cpp.

References Addr, DecodePNRRegisterClass(), and Fail.

◆ DecodePNRRegisterClass()

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

◆ DecodePPR2Mul2RegisterClass()

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

◆ DecodePPR2RegisterClass()

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

◆ DecodePPR_3bRegisterClass()

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

Definition at line 783 of file AArch64Disassembler.cpp.

References Addr, DecodePPRRegisterClass(), and Fail.

◆ DecodePPRorPNRRegisterClass()

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

◆ DecodePPRRegisterClass()

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

◆ DecodePRFMRegInstruction()

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

◆ DecodeQQQQRegisterClass()

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

◆ DecodeQQQRegisterClass()

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

◆ DecodeQQRegisterClass()

static DecodeStatus DecodeQQRegisterClass ( MCInst Inst,
unsigned  RegNo,
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

◆ 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 1053 of file AArch64Disassembler.cpp.

References DecodeVecShiftLImm().

◆ DecodeVecShiftL32Imm()

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

Definition at line 1047 of file AArch64Disassembler.cpp.

References DecodeVecShiftLImm().

◆ DecodeVecShiftL64Imm()

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

Definition at line 1041 of file AArch64Disassembler.cpp.

References DecodeVecShiftLImm().

◆ DecodeVecShiftL8Imm()

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

Definition at line 1059 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 1023 of file AArch64Disassembler.cpp.

References DecodeVecShiftRImm().

◆ DecodeVecShiftR16ImmNarrow()

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

Definition at line 1029 of file AArch64Disassembler.cpp.

References DecodeVecShiftRImm().

◆ DecodeVecShiftR32Imm()

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

Definition at line 1011 of file AArch64Disassembler.cpp.

References DecodeVecShiftRImm().

◆ DecodeVecShiftR32ImmNarrow()

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

Definition at line 1017 of file AArch64Disassembler.cpp.

References DecodeVecShiftRImm().

◆ DecodeVecShiftR64Imm()

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

Definition at line 999 of file AArch64Disassembler.cpp.

References DecodeVecShiftRImm().

◆ DecodeVecShiftR64ImmNarrow()

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

Definition at line 1005 of file AArch64Disassembler.cpp.

References DecodeVecShiftRImm().

◆ DecodeVecShiftR8Imm()

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

Definition at line 1035 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 1966 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 1974 of file AArch64Disassembler.cpp.

References Addr, and DecodeGPRSeqPairsClassRegisterClass().

◆ DecodeZPR2Mul2RegisterClass()

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

◆ DecodeZPR2RegisterClass()

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

◆ DecodeZPR2StridedRegisterClass()

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

◆ DecodeZPR3RegisterClass()

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

◆ DecodeZPR4Mul4RegisterClass()

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

◆ DecodeZPR4RegisterClass()

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

◆ DecodeZPR4StridedRegisterClass()

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

◆ DecodeZPR_3bRegisterClass()

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

Definition at line 627 of file AArch64Disassembler.cpp.

References llvm::Address, DecodeZPRRegisterClass(), and Fail.

◆ DecodeZPR_4bRegisterClass()

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

Definition at line 619 of file AArch64Disassembler.cpp.

References llvm::Address, DecodeZPRRegisterClass(), and Fail.

◆ DecodeZPRRegisterClass()

static DecodeStatus DecodeZPRRegisterClass ( 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 724 of file AArch64Disassembler.cpp.

Referenced by DecodeMatrixTile().