LLVM 22.0.0git
llvm::AArch64InstPrinter Class Reference

#include "Target/AArch64/MCTargetDesc/AArch64InstPrinter.h"

Inheritance diagram for llvm::AArch64InstPrinter:
[legend]

Public Member Functions

 AArch64InstPrinter (const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
bool applyTargetSpecificCLOption (StringRef Opt) override
 Customize the printer according to a command line option.
void printInst (const MCInst *MI, uint64_t Address, StringRef Annot, const MCSubtargetInfo &STI, raw_ostream &O) override
 Print the specified MCInst to the specified raw_ostream.
void printRegName (raw_ostream &OS, MCRegister Reg) override
 Print the assembler register name.
void printRegName (raw_ostream &OS, MCRegister Reg, unsigned AltIdx)
std::pair< const char *, uint64_tgetMnemonic (const MCInst &MI) const override
 Returns a pair containing the mnemonic for MI and the number of bits left for further processing by printInstruction (generated by tablegen).
virtual void printInstruction (const MCInst *MI, uint64_t Address, const MCSubtargetInfo &STI, raw_ostream &O)
virtual bool printAliasInstr (const MCInst *MI, uint64_t Address, const MCSubtargetInfo &STI, raw_ostream &O)
virtual void printCustomAliasOperand (const MCInst *MI, uint64_t Address, unsigned OpIdx, unsigned PrintMethodIdx, const MCSubtargetInfo &STI, raw_ostream &O)
virtual StringRef getRegName (MCRegister Reg) const
Public Member Functions inherited from llvm::MCInstPrinter
 MCInstPrinter (const MCAsmInfo &mai, const MCInstrInfo &mii, const MCRegisterInfo &mri)
virtual ~MCInstPrinter ()
void setCommentStream (raw_ostream &OS)
 Specify a stream to emit comments to.
StringRef getOpcodeName (unsigned Opcode) const
 Return the name of the specified opcode enum (e.g.
bool getUseMarkup () const
void setUseMarkup (bool Value)
bool getUseColor () const
void setUseColor (bool Value)
WithMarkup markup (raw_ostream &OS, Markup M)
bool getPrintImmHex () const
void setPrintImmHex (bool Value)
void setPrintHexStyle (HexStyle::Style Value)
void setPrintBranchImmAsAddress (bool Value)
void setSymbolizeOperands (bool Value)
void setMCInstrAnalysis (const MCInstrAnalysis *Value)
format_object< int64_t > formatImm (int64_t Value) const
 Utility function to print immediates in decimal or hex.
format_object< int64_t > formatDec (int64_t Value) const
 Utility functions to print decimal/hexadecimal values.
format_object< int64_t > formatHex (int64_t Value) const
format_object< uint64_tformatHex (uint64_t Value) const

Static Public Member Functions

static const chargetRegisterName (MCRegister Reg, unsigned AltIdx=AArch64::NoRegAltName)

Protected Member Functions

bool printSysAlias (const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &O)
bool printSyspAlias (const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &O)
bool printRangePrefetchAlias (const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &O, StringRef Annot)
void printOperand (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printImm (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printImmHex (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
template<int Size>
void printSImm (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
template<typename T>
void printImmSVE (T Value, raw_ostream &O)
void printPostIncOperand (const MCInst *MI, unsigned OpNo, unsigned Imm, raw_ostream &O)
template<int Amount>
void printPostIncOperand (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printVRegOperand (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printSysCROperand (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printAddSubImm (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<typename T>
void printLogicalImm (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printShifter (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printShiftedRegister (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printExtendedRegister (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printArithExtend (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printMemExtendImpl (bool SignExtend, bool DoShift, unsigned Width, char SrcRegKind, raw_ostream &O)
void printMemExtend (const MCInst *MI, unsigned OpNum, raw_ostream &O, char SrcRegKind, unsigned Width)
template<char SrcRegKind, unsigned Width>
void printMemExtend (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<bool SignedExtend, int ExtWidth, char SrcRegKind, char Suffix>
void printRegWithShiftExtend (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printCondCode (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printInverseCondCode (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printAlignedLabel (const MCInst *MI, uint64_t Address, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printUImm12Offset (const MCInst *MI, unsigned OpNum, unsigned Scale, raw_ostream &O)
void printAMIndexedWB (const MCInst *MI, unsigned OpNum, unsigned Scale, raw_ostream &O)
template<int Scale>
void printUImm12Offset (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<int BitWidth>
void printAMIndexedWB (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printAMNoIndex (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<int Scale>
void printImmScale (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<int Scale, int Offset>
void printImmRangeScale (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<bool IsSVEPrefetch = false>
void printPrefetchOp (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printRPRFMOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printPSBHintOp (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printBTIHintOp (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printFPImmOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printVectorList (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O, StringRef LayoutSuffix)
void printMatrixTileList (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printImplicitlyTypedVectorList (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 Print a list of vector registers where the type suffix is implicit (i.e.
template<unsigned NumLanes, char LaneKind>
void printTypedVectorList (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<unsigned Scale = 1>
void printVectorIndex (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<unsigned Scale = 1>
void printMatrixIndex (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printAdrAdrpLabel (const MCInst *MI, uint64_t Address, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printBarrierOption (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printBarriernXSOption (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printMSRSystemRegister (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printMRSSystemRegister (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printSystemPStateField (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printSIMDType10Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<int EltSize>
void printPredicateAsCounter (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<int64_t Angle, int64_t Remainder>
void printComplexRotationOp (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
template<unsigned size>
void printGPRSeqPairsClassOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<typename T>
void printImm8OptLsl (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<typename T>
void printSVELogicalImm (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printSVEPattern (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printSVEVecLenSpecifier (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<bool IsVertical>
void printMatrixTileVector (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printMatrixTile (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<int EltSize>
void printMatrix (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printSVCROp (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<char = 0>
void printSVERegOp (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printGPR64as32 (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printGPR64x8 (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printSyspXzrPair (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<int Width>
void printZPRasFPR (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
template<unsigned ImmIs0, unsigned ImmIs1>
void printExactFPImm (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
void printPHintOp (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
Protected Member Functions inherited from llvm::MCInstPrinter
void printAnnotation (raw_ostream &OS, StringRef Annot)
 Utility function for printing annotations.
const charmatchAliasPatterns (const MCInst *MI, const MCSubtargetInfo *STI, const AliasMatchingData &M)
 Helper for matching MCInsts to alias patterns when printing instructions.

Additional Inherited Members

Public Types inherited from llvm::MCInstPrinter
enum class  Markup { Immediate , Register , Target , Memory }
Protected Attributes inherited from llvm::MCInstPrinter
raw_ostreamCommentStream = nullptr
 A stream that comments can be emitted to if desired.
const MCAsmInfoMAI
const MCInstrInfoMII
const MCRegisterInfoMRI
const MCInstrAnalysisMIA = nullptr
bool UseMarkup = false
 True if we are printing marked up assembly.
bool UseColor = false
 True if we are printing colored assembly.
bool PrintAliases = true
 True if we prefer aliases (e.g. nop) to raw mnemonics.
bool PrintImmHex = false
 True if we are printing immediates as hex.
HexStyle::Style PrintHexStyle = HexStyle::C
 Which style to use for printing hexadecimal values.
bool PrintBranchImmAsAddress = false
 If true, a branch immediate (e.g.
bool SymbolizeOperands = false
 If true, symbolize branch target and memory reference operands.
SmallVector< raw_ostream::Colors, 4 > ColorStack {raw_ostream::Colors::RESET}

Detailed Description

Definition at line 23 of file AArch64InstPrinter.h.

Constructor & Destructor Documentation

◆ AArch64InstPrinter()

Member Function Documentation

◆ applyTargetSpecificCLOption()

bool AArch64InstPrinter::applyTargetSpecificCLOption ( StringRef Opt)
overridevirtual

Customize the printer according to a command line option.

Returns
true if the option is recognized and applied.

Reimplemented from llvm::MCInstPrinter.

Definition at line 53 of file AArch64InstPrinter.cpp.

References llvm::MCInstPrinter::PrintAliases.

◆ getMnemonic()

std::pair< const char *, uint64_t > llvm::AArch64InstPrinter::getMnemonic ( const MCInst & MI) const
overridevirtual

Returns a pair containing the mnemonic for MI and the number of bits left for further processing by printInstruction (generated by tablegen).

Implements llvm::MCInstPrinter.

References MI.

◆ getRegisterName()

const char * llvm::AArch64InstPrinter::getRegisterName ( MCRegister Reg,
unsigned AltIdx = AArch64::NoRegAltName )
static

◆ getRegName()

StringRef AArch64InstPrinter::getRegName ( MCRegister Reg) const
virtual

Reimplemented in llvm::AArch64AppleInstPrinter.

Definition at line 70 of file AArch64InstPrinter.cpp.

References getRegisterName().

◆ printAddSubImm()

◆ printAdrAdrpLabel()

◆ printAliasInstr()

virtual bool llvm::AArch64InstPrinter::printAliasInstr ( const MCInst * MI,
uint64_t Address,
const MCSubtargetInfo & STI,
raw_ostream & O )
virtual

Reimplemented in llvm::AArch64AppleInstPrinter.

References llvm::Address, and MI.

Referenced by printInst().

◆ printAlignedLabel()

◆ printAMIndexedWB() [1/2]

template<int BitWidth>
void llvm::AArch64InstPrinter::printAMIndexedWB ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
inlineprotected

Definition at line 125 of file AArch64InstPrinter.h.

References llvm::BitWidth, MI, and printAMIndexedWB().

◆ printAMIndexedWB() [2/2]

◆ printAMNoIndex()

void AArch64InstPrinter::printAMNoIndex ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1403 of file AArch64InstPrinter.cpp.

References MI, and printRegName().

◆ printArithExtend()

◆ printBarriernXSOption()

void AArch64InstPrinter::printBarriernXSOption ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printBarrierOption()

void AArch64InstPrinter::printBarrierOption ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printBTIHintOp()

void AArch64InstPrinter::printBTIHintOp ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printComplexRotationOp()

template<int64_t Angle, int64_t Remainder>
void AArch64InstPrinter::printComplexRotationOp ( const MCInst * MI,
unsigned OpNo,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printCondCode()

void AArch64InstPrinter::printCondCode ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1389 of file AArch64InstPrinter.cpp.

References llvm::AArch64CC::getCondCodeName(), and MI.

◆ printCustomAliasOperand()

virtual void llvm::AArch64InstPrinter::printCustomAliasOperand ( const MCInst * MI,
uint64_t Address,
unsigned OpIdx,
unsigned PrintMethodIdx,
const MCSubtargetInfo & STI,
raw_ostream & O )
virtual

Reimplemented in llvm::AArch64AppleInstPrinter.

References llvm::Address, MI, OpIdx, and Reg.

◆ printExactFPImm()

template<unsigned ImmIs0, unsigned ImmIs1>
void AArch64InstPrinter::printExactFPImm ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printExtendedRegister()

void AArch64InstPrinter::printExtendedRegister ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1279 of file AArch64InstPrinter.cpp.

References MI, printArithExtend(), and printRegName().

◆ printFPImmOperand()

◆ printGPR64as32()

void AArch64InstPrinter::printGPR64as32 ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 2131 of file AArch64InstPrinter.cpp.

References llvm::getWRegFromXReg(), MI, and printRegName().

◆ printGPR64x8()

void AArch64InstPrinter::printGPR64x8 ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 2138 of file AArch64InstPrinter.cpp.

References MI, llvm::MCInstPrinter::MRI, and printRegName().

◆ printGPRSeqPairsClassOperand()

template<unsigned size>
void AArch64InstPrinter::printGPRSeqPairsClassOperand ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1619 of file AArch64InstPrinter.cpp.

References MI, llvm::MCInstPrinter::MRI, printRegName(), and llvm::size().

Referenced by printSyspAlias().

◆ printImm()

void AArch64InstPrinter::printImm ( const MCInst * MI,
unsigned OpNo,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printImm8OptLsl()

◆ printImmHex()

void AArch64InstPrinter::printImmHex ( const MCInst * MI,
unsigned OpNo,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printImmRangeScale()

template<int Scale, int Offset>
void AArch64InstPrinter::printImmRangeScale ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1420 of file AArch64InstPrinter.cpp.

References llvm::MCInstPrinter::formatImm(), MI, and llvm::Offset.

◆ printImmScale()

template<int Scale>
void AArch64InstPrinter::printImmScale ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printImmSVE()

◆ printImplicitlyTypedVectorList()

void AArch64InstPrinter::printImplicitlyTypedVectorList ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Print a list of vector registers where the type suffix is implicit (i.e.

attached to the instruction rather than the registers).

Definition at line 1746 of file AArch64InstPrinter.cpp.

References MI, and printVectorList().

◆ printInst()

void AArch64InstPrinter::printInst ( const MCInst * MI,
uint64_t Address,
StringRef Annot,
const MCSubtargetInfo & STI,
raw_ostream & OS )
overridevirtual

◆ printInstruction()

virtual void llvm::AArch64InstPrinter::printInstruction ( const MCInst * MI,
uint64_t Address,
const MCSubtargetInfo & STI,
raw_ostream & O )
virtual

Reimplemented in llvm::AArch64AppleInstPrinter.

References llvm::Address, and MI.

Referenced by printInst().

◆ printInverseCondCode()

void AArch64InstPrinter::printInverseCondCode ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printLogicalImm()

template<typename T>
void AArch64InstPrinter::printLogicalImm ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printMatrix()

template<int EltSize>
void AArch64InstPrinter::printMatrix ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printMatrixIndex()

template<unsigned Scale>
void AArch64InstPrinter::printMatrixIndex ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1778 of file AArch64InstPrinter.cpp.

References MI.

◆ printMatrixTile()

void AArch64InstPrinter::printMatrixTile ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printMatrixTileList()

void AArch64InstPrinter::printMatrixTileList ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1637 of file AArch64InstPrinter.cpp.

References I, MI, and printRegName().

◆ printMatrixTileVector()

template<bool IsVertical>
void AArch64InstPrinter::printMatrixTileVector ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printMemExtend() [1/2]

template<char SrcRegKind, unsigned Width>
void llvm::AArch64InstPrinter::printMemExtend ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
inlineprotected

Definition at line 100 of file AArch64InstPrinter.h.

References MI, and printMemExtend().

◆ printMemExtend() [2/2]

void AArch64InstPrinter::printMemExtend ( const MCInst * MI,
unsigned OpNum,
raw_ostream & O,
char SrcRegKind,
unsigned Width )
protected

Definition at line 1333 of file AArch64InstPrinter.cpp.

References MI, and printMemExtendImpl().

Referenced by printMemExtend().

◆ printMemExtendImpl()

void AArch64InstPrinter::printMemExtendImpl ( bool SignExtend,
bool DoShift,
unsigned Width,
char SrcRegKind,
raw_ostream & O )
protected

◆ printMRSSystemRegister()

void AArch64InstPrinter::printMRSSystemRegister ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printMSRSystemRegister()

void AArch64InstPrinter::printMSRSystemRegister ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printOperand()

void AArch64InstPrinter::printOperand ( const MCInst * MI,
unsigned OpNo,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printPHintOp()

◆ printPostIncOperand() [1/2]

template<int Amount>
void llvm::AArch64InstPrinter::printPostIncOperand ( const MCInst * MI,
unsigned OpNo,
const MCSubtargetInfo & STI,
raw_ostream & O )
inlineprotected

Definition at line 73 of file AArch64InstPrinter.h.

References MI, and printPostIncOperand().

◆ printPostIncOperand() [2/2]

void AArch64InstPrinter::printPostIncOperand ( const MCInst * MI,
unsigned OpNo,
unsigned Imm,
raw_ostream & O )
protected

◆ printPredicateAsCounter()

template<int EltSize>
void AArch64InstPrinter::printPredicateAsCounter ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1360 of file AArch64InstPrinter.cpp.

References llvm_unreachable, MI, and Reg.

◆ printPrefetchOp()

template<bool IsSVEPrefetch>
void AArch64InstPrinter::printPrefetchOp ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printPSBHintOp()

void AArch64InstPrinter::printPSBHintOp ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printRangePrefetchAlias()

bool AArch64InstPrinter::printRangePrefetchAlias ( const MCInst * MI,
const MCSubtargetInfo & STI,
raw_ostream & O,
StringRef Annot )
protected

◆ printRegName() [1/2]

◆ printRegName() [2/2]

void AArch64InstPrinter::printRegName ( raw_ostream & OS,
MCRegister Reg,
unsigned AltIdx )

◆ printRegWithShiftExtend()

template<bool SignExtend, int ExtWidth, char SrcRegKind, char Suffix>
void AArch64InstPrinter::printRegWithShiftExtend ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1342 of file AArch64InstPrinter.cpp.

References assert(), MI, printMemExtendImpl(), and printOperand().

◆ printRPRFMOperand()

void AArch64InstPrinter::printRPRFMOperand ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1455 of file AArch64InstPrinter.cpp.

References llvm::MCInstPrinter::formatImm(), and MI.

◆ printShiftedRegister()

void AArch64InstPrinter::printShiftedRegister ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1272 of file AArch64InstPrinter.cpp.

References MI, printRegName(), and printShifter().

◆ printShifter()

◆ printSIMDType10Operand()

void AArch64InstPrinter::printSIMDType10Operand ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printSImm()

template<int Size>
void AArch64InstPrinter::printSImm ( const MCInst * MI,
unsigned OpNo,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printSVCROp()

void AArch64InstPrinter::printSVCROp ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printSVELogicalImm()

template<typename T>
void AArch64InstPrinter::printSVELogicalImm ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printSVEPattern()

void AArch64InstPrinter::printSVEPattern ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printSVERegOp()

template<char suffix>
void AArch64InstPrinter::printSVERegOp ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 2020 of file AArch64InstPrinter.cpp.

References llvm_unreachable, MI, and printRegName().

◆ printSVEVecLenSpecifier()

void AArch64InstPrinter::printSVEVecLenSpecifier ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 2004 of file AArch64InstPrinter.cpp.

References llvm_unreachable, and MI.

◆ printSysAlias()

◆ printSysCROperand()

void AArch64InstPrinter::printSysCROperand ( const MCInst * MI,
unsigned OpNo,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1219 of file AArch64InstPrinter.cpp.

References assert(), and MI.

◆ printSyspAlias()

◆ printSyspXzrPair()

void AArch64InstPrinter::printSyspXzrPair ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 2145 of file AArch64InstPrinter.cpp.

References assert(), getRegisterName(), and MI.

Referenced by printSyspAlias().

◆ printSystemPStateField()

void AArch64InstPrinter::printSystemPStateField ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

◆ printTypedVectorList()

template<unsigned NumLanes, char LaneKind>
void AArch64InstPrinter::printTypedVectorList ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1754 of file AArch64InstPrinter.cpp.

References llvm::itostr(), MI, and printVectorList().

◆ printUImm12Offset() [1/2]

template<int Scale>
void llvm::AArch64InstPrinter::printUImm12Offset ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
inlineprotected

Definition at line 119 of file AArch64InstPrinter.h.

References MI, and printUImm12Offset().

◆ printUImm12Offset() [2/2]

◆ printVectorIndex()

template<unsigned Scale>
void AArch64InstPrinter::printVectorIndex ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1771 of file AArch64InstPrinter.cpp.

References MI.

◆ printVectorList()

void AArch64InstPrinter::printVectorList ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O,
StringRef LayoutSuffix )
protected

◆ printVRegOperand()

void AArch64InstPrinter::printVRegOperand ( const MCInst * MI,
unsigned OpNo,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 1211 of file AArch64InstPrinter.cpp.

References assert(), MI, and printRegName().

◆ printZPRasFPR()

template<int Width>
void AArch64InstPrinter::printZPRasFPR ( const MCInst * MI,
unsigned OpNum,
const MCSubtargetInfo & STI,
raw_ostream & O )
protected

Definition at line 2103 of file AArch64InstPrinter.cpp.

References llvm::sampleprof::Base, llvm_unreachable, MI, and printRegName().


The documentation for this class was generated from the following files: