14 #ifndef LLVM_AARCH64INSTPRINTER_H
15 #define LLVM_AARCH64INSTPRINTER_H
39 template<
unsigned MemSize,
unsigned RmSize>
57 template<
unsigned RegW
idth>
76 template<
int MemScale>
85 template<
unsigned field_w
idth,
unsigned scale>
89 template<
unsigned RegW
idth>
92 template<
typename SomeNamedImmMapper>
99 const MCInst *MI,
unsigned OpNum,
103 const MCInst *MI,
unsigned OpNum,
131 template<A64SE::ShiftExtSpecifiers Shift>
143 template<
int MemSize>
void
151 template<A64SE::ShiftExtSpecifiers EXT>
165 return RegNo == AArch64::XSP || RegNo == AArch64::WSP;
168 template <A64SE::ShiftExtSpecifiers Ext,
bool IsHalf>
177 template <A64Layout::VectorLayout Layout,
unsigned Count>
virtual void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot)
void printShiftOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printBFIWidthOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printNeonMovImmShiftOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printSysRegOperand(const A64SysReg::SysRegMapper &Mapper, const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printInstruction(const MCInst *MI, raw_ostream &O)
void printBFILSBOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printFPImmOperand(const MCInst *MI, unsigned OpNum, raw_ostream &o)
bool isStackReg(unsigned RegNo)
void printOffsetSImm9Operand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
bool printAliasInstr(const MCInst *MI, raw_ostream &O)
void printCVTFixedPosOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printRegName(raw_ostream &O, unsigned RegNum) const
printRegName - Print the assembler register name.
static const char * getInstructionName(unsigned Opcode)
void printAddSubImmLSL12Operand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printRegExtendOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printUImmHexOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printMSROperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printLabelOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printLSLOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printNeonUImm0Operand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printMRSOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printLogicalImmOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printCRxOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printOffsetUImm12Operand(const MCInst *MI, unsigned OpNum, raw_ostream &o)
AArch64InstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI, const MCSubtargetInfo &STI)
void printVPRRegister(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printVectorList(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printASROperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printSImm7ScaledOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
static const char * getRegisterName(unsigned RegNo)
void printShiftOperand(const char *name, const MCInst *MI, unsigned OpIdx, raw_ostream &O)
void printBareImmOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printBFXWidthOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printMoveWideImmOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printAddrRegExtendOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printPRFMOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printNeonUImm64MaskOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printROROperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printFPZeroOperand(const MCInst *MI, unsigned OpNum, raw_ostream &o)
void printLSROperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printUImmBareOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printCondCodeOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printAddSubImmLSL0Operand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printNamedImmOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O)
const MCRegisterInfo & MRI