1 //===-- ARMInstPrinter.h - Convert ARM MCInst to assembly syntax ----------===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This class prints an ARM MCInst to a .s file.
12 //===----------------------------------------------------------------------===//
14 #ifndef ARMINSTPRINTER_H
15 #define ARMINSTPRINTER_H
17 #include "llvm/MC/MCInstPrinter.h"
22 class ARMInstPrinter : public MCInstPrinter {
24 ARMInstPrinter(raw_ostream &O, const MCAsmInfo &MAI) : MCInstPrinter(O, MAI){}
26 virtual void printInst(const MCInst *MI);
28 // Autogenerated by tblgen.
29 void printInstruction(const MCInst *MI);
30 static const char *getRegisterName(unsigned RegNo);
33 void printOperand(const MCInst *MI, unsigned OpNo,
34 const char *Modifier = 0) {}
36 void printSOImmOperand(const MCInst *MI, unsigned OpNum) {}
37 void printSOImm2PartOperand(const MCInst *MI, unsigned OpNum) {}
38 void printSORegOperand(const MCInst *MI, unsigned OpNum) {}
39 void printAddrMode2Operand(const MCInst *MI, unsigned OpNum) {}
40 void printAddrMode2OffsetOperand(const MCInst *MI, unsigned OpNum) {}
41 void printAddrMode3Operand(const MCInst *MI, unsigned OpNum) {}
42 void printAddrMode3OffsetOperand(const MCInst *MI, unsigned OpNum) {}
43 void printAddrMode4Operand(const MCInst *MI, unsigned OpNum,
44 const char *Modifier = 0) {}
45 void printAddrMode5Operand(const MCInst *MI, unsigned OpNum,
46 const char *Modifier = 0) {}
47 void printAddrMode6Operand(const MCInst *MI, unsigned OpNum) {}
48 void printAddrModePCOperand(const MCInst *MI, unsigned OpNum,
49 const char *Modifier = 0) {}
50 void printBitfieldInvMaskImmOperand (const MCInst *MI, unsigned OpNum) {}
52 void printThumbITMask(const MCInst *MI, unsigned OpNum) {}
53 void printThumbAddrModeRROperand(const MCInst *MI, unsigned OpNum) {}
54 void printThumbAddrModeRI5Operand(const MCInst *MI, unsigned OpNum,
56 void printThumbAddrModeS1Operand(const MCInst *MI, unsigned OpNum) {}
57 void printThumbAddrModeS2Operand(const MCInst *MI, unsigned OpNum) {}
58 void printThumbAddrModeS4Operand(const MCInst *MI, unsigned OpNum) {}
59 void printThumbAddrModeSPOperand(const MCInst *MI, unsigned OpNum) {}
61 void printT2SOOperand(const MCInst *MI, unsigned OpNum) {}
62 void printT2AddrModeImm12Operand(const MCInst *MI, unsigned OpNum) {}
63 void printT2AddrModeImm8Operand(const MCInst *MI, unsigned OpNum) {}
64 void printT2AddrModeImm8s4Operand(const MCInst *MI, unsigned OpNum) {}
65 void printT2AddrModeImm8OffsetOperand(const MCInst *MI, unsigned OpNum) {}
66 void printT2AddrModeSoRegOperand(const MCInst *MI, unsigned OpNum) {}
68 void printPredicateOperand(const MCInst *MI, unsigned OpNum) {}
69 void printSBitModifierOperand(const MCInst *MI, unsigned OpNum) {}
70 void printPCLabel(const MCInst *MI, unsigned OpNum) {}
71 void printRegisterList(const MCInst *MI, unsigned OpNum) {}
72 void printCPInstOperand(const MCInst *MI, unsigned OpNum,
73 const char *Modifier) {}
74 void printJTBlockOperand(const MCInst *MI, unsigned OpNum) {}
75 void printJT2BlockOperand(const MCInst *MI, unsigned OpNum) {}
76 void printTBAddrMode(const MCInst *MI, unsigned OpNum) {}
77 void printNoHashImmediate(const MCInst *MI, unsigned OpNum) {}
81 void PrintSpecial(const MCInst *MI, const char *Kind) {}