14#ifndef LLVM_LIB_TARGET_M68K_INSTPRINTER_M68KINSTPRINTER_H
15#define LLVM_LIB_TARGET_M68K_INSTPRINTER_M68KINSTPRINTER_H
45 std::pair<const char *, uint64_t>
65 printAbsMem(
MI, opNum, O);
71 void printARI16Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
74 void printARI32Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
78 void printARIPI8Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
81 void printARIPI16Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
84 void printARIPI32Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
88 void printARIPD8Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
91 void printARIPD16Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
94 void printARIPD32Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
98 void printARID8Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
101 void printARID16Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
104 void printARID32Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
108 void printARII8Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
111 void printARII16Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
114 void printARII32Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
118 void printAS8Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
119 printAbsMem(
MI, opNum, O);
121 void printAS16Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
122 printAbsMem(
MI, opNum, O);
124 void printAS32Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
125 printAbsMem(
MI, opNum, O);
128 void printAL8Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
129 printAbsMem(
MI, opNum, O);
131 void printAL16Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
132 printAbsMem(
MI, opNum, O);
134 void printAL32Mem(
const MCInst *
MI,
unsigned opNum, raw_ostream &O) {
135 printAbsMem(
MI, opNum, O);
138 void printPCD8Mem(
const MCInst *
MI, uint64_t
Address,
unsigned opNum,
142 void printPCD16Mem(
const MCInst *
MI, uint64_t
Address,
unsigned opNum,
146 void printPCD32Mem(
const MCInst *
MI, uint64_t
Address,
unsigned opNum,
151 void printPCI8Mem(
const MCInst *
MI, uint64_t
Address,
unsigned opNum,
155 void printPCI16Mem(
const MCInst *
MI, uint64_t
Address,
unsigned opNum,
159 void printPCI32Mem(
const MCInst *
MI, uint64_t
Address,
unsigned opNum,
164 void printPCIBD16Mem(
const MCInst *
MI, uint64_t
Address,
unsigned opNum,
168 void printPCIBD32Mem(
const MCInst *
MI, uint64_t
Address,
unsigned opNum,
This file contains memory operand printing logics shared between AsmPrinter.
MachineInstr unsigned OpIdx
static bool printOperand(raw_ostream &OS, const SelectionDAG *G, const SDValue Value)
M68kInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
bool printAliasInstr(const MCInst *MI, uint64_t Address, raw_ostream &OS)
void printRegName(raw_ostream &OS, MCRegister Reg) override
Print the assembler register name.
std::pair< const char *, uint64_t > getMnemonic(const MCInst &MI) const override
Returns a pair containing the mnemonic for MI and the number of bits left for further processing by p...
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 printInstruction(const MCInst *MI, uint64_t Address, raw_ostream &O)
void printCustomAliasOperand(const MCInst *MI, unsigned OpIdx, unsigned PrintMethodIdx, raw_ostream &O)
static const char * getRegisterName(MCRegister Reg)
friend class M68kMemOperandPrinter
void printARIDMem(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printPCDMem(const MCInst *MI, uint64_t Address, unsigned OpNum, raw_ostream &O)
void printPCIMem(const MCInst *MI, uint64_t Address, unsigned OpNum, raw_ostream &O)
void printARIPDMem(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printARIPIMem(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printARIIMem(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printARIMem(const MCInst *MI, unsigned OpNum, raw_ostream &O)
void printPCIBDMem(const MCInst *MI, uint64_t Address, unsigned OpNum, raw_ostream &O)
This class is intended to be used as a base class for asm properties and features specific to the tar...
const MCRegisterInfo & MRI
MCInstPrinter(const MCAsmInfo &mai, const MCInstrInfo &mii, const MCRegisterInfo &mri)
Instances of this class represent a single low-level machine instruction.
Interface to description of machine instruction set.
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
Wrapper class representing physical registers. Should be passed by value.
Generic base class for all target subtargets.
Represent a constant reference to a string, i.e.
Primary interface to the complete machine description for the target machine.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.