Jia Liu | b22310f | 2012-02-18 12:03:15 +0000 | [diff] [blame] | 1 | //===- ARMInstPrinter.h - Convert ARM MCInst to assembly syntax -*- C++ -*-===// |
Chris Lattner | a290778 | 2009-10-19 19:56:26 +0000 | [diff] [blame] | 2 | // |
| 3 | // The LLVM Compiler Infrastructure |
| 4 | // |
| 5 | // This file is distributed under the University of Illinois Open Source |
| 6 | // License. See LICENSE.TXT for details. |
| 7 | // |
| 8 | //===----------------------------------------------------------------------===// |
| 9 | // |
| 10 | // This class prints an ARM MCInst to a .s file. |
| 11 | // |
| 12 | //===----------------------------------------------------------------------===// |
| 13 | |
Benjamin Kramer | a7c40ef | 2014-08-13 16:26:38 +0000 | [diff] [blame] | 14 | #ifndef LLVM_LIB_TARGET_ARM_INSTPRINTER_ARMINSTPRINTER_H |
| 15 | #define LLVM_LIB_TARGET_ARM_INSTPRINTER_ARMINSTPRINTER_H |
Chris Lattner | a290778 | 2009-10-19 19:56:26 +0000 | [diff] [blame] | 16 | |
| 17 | #include "llvm/MC/MCInstPrinter.h" |
| 18 | |
| 19 | namespace llvm { |
Bill Wendling | 00f0cdd | 2011-03-21 04:13:46 +0000 | [diff] [blame] | 20 | |
Chris Lattner | a290778 | 2009-10-19 19:56:26 +0000 | [diff] [blame] | 21 | class ARMInstPrinter : public MCInstPrinter { |
| 22 | public: |
Craig Topper | 54bfde7 | 2012-04-02 06:09:36 +0000 | [diff] [blame] | 23 | ARMInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII, |
Eric Christopher | 7099d51 | 2015-03-30 21:52:28 +0000 | [diff] [blame] | 24 | const MCRegisterInfo &MRI); |
Chris Lattner | a290778 | 2009-10-19 19:56:26 +0000 | [diff] [blame] | 25 | |
Akira Hatanaka | b46d023 | 2015-03-27 20:36:02 +0000 | [diff] [blame] | 26 | void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot, |
| 27 | const MCSubtargetInfo &STI) override; |
Craig Topper | 6bc27bf | 2014-03-10 02:09:33 +0000 | [diff] [blame] | 28 | void printRegName(raw_ostream &OS, unsigned RegNo) const override; |
Chris Lattner | f20f798 | 2010-10-28 21:37:33 +0000 | [diff] [blame] | 29 | |
Chris Lattner | a290778 | 2009-10-19 19:56:26 +0000 | [diff] [blame] | 30 | // Autogenerated by tblgen. |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 31 | void printInstruction(const MCInst *MI, const MCSubtargetInfo &STI, |
| 32 | raw_ostream &O); |
Chris Lattner | a290778 | 2009-10-19 19:56:26 +0000 | [diff] [blame] | 33 | static const char *getRegisterName(unsigned RegNo); |
| 34 | |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 35 | void printOperand(const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, |
| 36 | raw_ostream &O); |
Jim Grosbach | 4e51d0b | 2010-09-17 21:25:10 +0000 | [diff] [blame] | 37 | |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 38 | void printSORegRegOperand(const MCInst *MI, unsigned OpNum, |
| 39 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 40 | void printSORegImmOperand(const MCInst *MI, unsigned OpNum, |
| 41 | const MCSubtargetInfo &STI, raw_ostream &O); |
Bruno Cardoso Lopes | ab83050 | 2011-03-31 23:26:08 +0000 | [diff] [blame] | 42 | |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 43 | void printAddrModeTBB(const MCInst *MI, unsigned OpNum, |
| 44 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 45 | void printAddrModeTBH(const MCInst *MI, unsigned OpNum, |
| 46 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 47 | void printAddrMode2Operand(const MCInst *MI, unsigned OpNum, |
| 48 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 49 | void printAM2PostIndexOp(const MCInst *MI, unsigned OpNum, |
| 50 | const MCSubtargetInfo &STI, raw_ostream &O); |
Bruno Cardoso Lopes | ab83050 | 2011-03-31 23:26:08 +0000 | [diff] [blame] | 51 | void printAM2PreOrOffsetIndexOp(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 52 | const MCSubtargetInfo &STI, raw_ostream &O); |
Chris Lattner | 76c564b | 2010-04-04 04:47:45 +0000 | [diff] [blame] | 53 | void printAddrMode2OffsetOperand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 54 | const MCSubtargetInfo &STI, raw_ostream &O); |
Quentin Colombet | c313220 | 2013-04-12 18:47:25 +0000 | [diff] [blame] | 55 | template <bool AlwaysPrintImm0> |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 56 | void printAddrMode3Operand(const MCInst *MI, unsigned OpNum, |
| 57 | const MCSubtargetInfo &STI, raw_ostream &O); |
Chris Lattner | 76c564b | 2010-04-04 04:47:45 +0000 | [diff] [blame] | 58 | void printAddrMode3OffsetOperand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 59 | const MCSubtargetInfo &STI, raw_ostream &O); |
Quentin Colombet | c313220 | 2013-04-12 18:47:25 +0000 | [diff] [blame] | 60 | void printAM3PreOrOffsetIndexOp(const MCInst *MI, unsigned Op, raw_ostream &O, |
| 61 | bool AlwaysPrintImm0); |
Jim Grosbach | d359571 | 2011-08-03 23:50:40 +0000 | [diff] [blame] | 62 | void printPostIdxImm8Operand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 63 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 64 | void printPostIdxRegOperand(const MCInst *MI, unsigned OpNum, |
| 65 | const MCSubtargetInfo &STI, raw_ostream &O); |
Owen Anderson | ce51903 | 2011-08-04 18:24:14 +0000 | [diff] [blame] | 66 | void printPostIdxImm8s4Operand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 67 | const MCSubtargetInfo &STI, raw_ostream &O); |
Bruno Cardoso Lopes | bda3632 | 2011-04-04 17:18:19 +0000 | [diff] [blame] | 68 | |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 69 | void printLdStmModeOperand(const MCInst *MI, unsigned OpNum, |
| 70 | const MCSubtargetInfo &STI, raw_ostream &O); |
Quentin Colombet | c313220 | 2013-04-12 18:47:25 +0000 | [diff] [blame] | 71 | template <bool AlwaysPrintImm0> |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 72 | void printAddrMode5Operand(const MCInst *MI, unsigned OpNum, |
| 73 | const MCSubtargetInfo &STI, raw_ostream &O); |
Oliver Stannard | 65b8538 | 2016-01-25 10:26:26 +0000 | [diff] [blame] | 74 | template <bool AlwaysPrintImm0> |
| 75 | void printAddrMode5FP16Operand(const MCInst *MI, unsigned OpNum, |
| 76 | const MCSubtargetInfo &STI, raw_ostream &O); |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 77 | void printAddrMode6Operand(const MCInst *MI, unsigned OpNum, |
| 78 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 79 | void printAddrMode7Operand(const MCInst *MI, unsigned OpNum, |
| 80 | const MCSubtargetInfo &STI, raw_ostream &O); |
Chris Lattner | 76c564b | 2010-04-04 04:47:45 +0000 | [diff] [blame] | 81 | void printAddrMode6OffsetOperand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 82 | const MCSubtargetInfo &STI, raw_ostream &O); |
Johnny Chen | 9a3e239 | 2010-03-10 18:59:38 +0000 | [diff] [blame] | 83 | |
Chris Lattner | 76c564b | 2010-04-04 04:47:45 +0000 | [diff] [blame] | 84 | void printBitfieldInvMaskImmOperand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 85 | const MCSubtargetInfo &STI, |
Chris Lattner | 76c564b | 2010-04-04 04:47:45 +0000 | [diff] [blame] | 86 | raw_ostream &O); |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 87 | void printMemBOption(const MCInst *MI, unsigned OpNum, |
| 88 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 89 | void printInstSyncBOption(const MCInst *MI, unsigned OpNum, |
| 90 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 91 | void printShiftImmOperand(const MCInst *MI, unsigned OpNum, |
| 92 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 93 | void printPKHLSLShiftImm(const MCInst *MI, unsigned OpNum, |
| 94 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 95 | void printPKHASRShiftImm(const MCInst *MI, unsigned OpNum, |
| 96 | const MCSubtargetInfo &STI, raw_ostream &O); |
Evan Cheng | b185259 | 2009-11-19 06:57:41 +0000 | [diff] [blame] | 97 | |
Mihai Popa | d36cbaa | 2013-07-03 09:21:44 +0000 | [diff] [blame] | 98 | template <unsigned scale> |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 99 | void printAdrLabelOperand(const MCInst *MI, unsigned OpNum, |
| 100 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 101 | void printThumbS4ImmOperand(const MCInst *MI, unsigned OpNum, |
| 102 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 103 | void printThumbSRImm(const MCInst *MI, unsigned OpNum, |
| 104 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 105 | void printThumbITMask(const MCInst *MI, unsigned OpNum, |
| 106 | const MCSubtargetInfo &STI, raw_ostream &O); |
Chris Lattner | 76c564b | 2010-04-04 04:47:45 +0000 | [diff] [blame] | 107 | void printThumbAddrModeRROperand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 108 | const MCSubtargetInfo &STI, raw_ostream &O); |
Bill Wendling | 092a7bd | 2010-12-14 03:36:38 +0000 | [diff] [blame] | 109 | void printThumbAddrModeImm5SOperand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 110 | const MCSubtargetInfo &STI, |
Bill Wendling | 092a7bd | 2010-12-14 03:36:38 +0000 | [diff] [blame] | 111 | raw_ostream &O, unsigned Scale); |
| 112 | void printThumbAddrModeImm5S1Operand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 113 | const MCSubtargetInfo &STI, |
Bill Wendling | 092a7bd | 2010-12-14 03:36:38 +0000 | [diff] [blame] | 114 | raw_ostream &O); |
| 115 | void printThumbAddrModeImm5S2Operand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 116 | const MCSubtargetInfo &STI, |
Bill Wendling | 092a7bd | 2010-12-14 03:36:38 +0000 | [diff] [blame] | 117 | raw_ostream &O); |
| 118 | void printThumbAddrModeImm5S4Operand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 119 | const MCSubtargetInfo &STI, |
Bill Wendling | 092a7bd | 2010-12-14 03:36:38 +0000 | [diff] [blame] | 120 | raw_ostream &O); |
Chris Lattner | 76c564b | 2010-04-04 04:47:45 +0000 | [diff] [blame] | 121 | void printThumbAddrModeSPOperand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 122 | const MCSubtargetInfo &STI, raw_ostream &O); |
Jim Grosbach | 4e51d0b | 2010-09-17 21:25:10 +0000 | [diff] [blame] | 123 | |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 124 | void printT2SOOperand(const MCInst *MI, unsigned OpNum, |
| 125 | const MCSubtargetInfo &STI, raw_ostream &O); |
Akira Hatanaka | cfa1f61 | 2015-03-27 23:24:22 +0000 | [diff] [blame] | 126 | template <bool AlwaysPrintImm0> |
Jim Grosbach | e6fe1a0 | 2010-10-25 20:00:01 +0000 | [diff] [blame] | 127 | void printAddrModeImm12Operand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 128 | const MCSubtargetInfo &STI, raw_ostream &O); |
Akira Hatanaka | cfa1f61 | 2015-03-27 23:24:22 +0000 | [diff] [blame] | 129 | template <bool AlwaysPrintImm0> |
Chris Lattner | 76c564b | 2010-04-04 04:47:45 +0000 | [diff] [blame] | 130 | void printT2AddrModeImm8Operand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 131 | const MCSubtargetInfo &STI, raw_ostream &O); |
Akira Hatanaka | cfa1f61 | 2015-03-27 23:24:22 +0000 | [diff] [blame] | 132 | template <bool AlwaysPrintImm0> |
Chris Lattner | 76c564b | 2010-04-04 04:47:45 +0000 | [diff] [blame] | 133 | void printT2AddrModeImm8s4Operand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 134 | const MCSubtargetInfo &STI, raw_ostream &O); |
Jim Grosbach | a05627e | 2011-09-09 18:37:27 +0000 | [diff] [blame] | 135 | void printT2AddrModeImm0_1020s4Operand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 136 | const MCSubtargetInfo &STI, |
Akira Hatanaka | cfa1f61 | 2015-03-27 23:24:22 +0000 | [diff] [blame] | 137 | raw_ostream &O); |
Chris Lattner | 76c564b | 2010-04-04 04:47:45 +0000 | [diff] [blame] | 138 | void printT2AddrModeImm8OffsetOperand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 139 | const MCSubtargetInfo &STI, |
Chris Lattner | 76c564b | 2010-04-04 04:47:45 +0000 | [diff] [blame] | 140 | raw_ostream &O); |
| 141 | void printT2AddrModeImm8s4OffsetOperand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 142 | const MCSubtargetInfo &STI, |
Chris Lattner | 76c564b | 2010-04-04 04:47:45 +0000 | [diff] [blame] | 143 | raw_ostream &O); |
| 144 | void printT2AddrModeSoRegOperand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 145 | const MCSubtargetInfo &STI, raw_ostream &O); |
Jim Grosbach | 4e51d0b | 2010-09-17 21:25:10 +0000 | [diff] [blame] | 146 | |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 147 | void printSetendOperand(const MCInst *MI, unsigned OpNum, |
| 148 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 149 | void printCPSIMod(const MCInst *MI, unsigned OpNum, |
| 150 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 151 | void printCPSIFlag(const MCInst *MI, unsigned OpNum, |
| 152 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 153 | void printMSRMaskOperand(const MCInst *MI, unsigned OpNum, |
| 154 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 155 | void printBankedRegOperand(const MCInst *MI, unsigned OpNum, |
| 156 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 157 | void printPredicateOperand(const MCInst *MI, unsigned OpNum, |
| 158 | const MCSubtargetInfo &STI, raw_ostream &O); |
Chris Lattner | 76c564b | 2010-04-04 04:47:45 +0000 | [diff] [blame] | 159 | void printMandatoryPredicateOperand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 160 | const MCSubtargetInfo &STI, |
Chris Lattner | 76c564b | 2010-04-04 04:47:45 +0000 | [diff] [blame] | 161 | raw_ostream &O); |
| 162 | void printSBitModifierOperand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 163 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 164 | void printRegisterList(const MCInst *MI, unsigned OpNum, |
| 165 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 166 | void printNoHashImmediate(const MCInst *MI, unsigned OpNum, |
| 167 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 168 | void printPImmediate(const MCInst *MI, unsigned OpNum, |
| 169 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 170 | void printCImmediate(const MCInst *MI, unsigned OpNum, |
| 171 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 172 | void printCoprocOptionImm(const MCInst *MI, unsigned OpNum, |
| 173 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 174 | void printFPImmOperand(const MCInst *MI, unsigned OpNum, |
| 175 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 176 | void printNEONModImmOperand(const MCInst *MI, unsigned OpNum, |
| 177 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 178 | void printImmPlusOneOperand(const MCInst *MI, unsigned OpNum, |
| 179 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 180 | void printRotImmOperand(const MCInst *MI, unsigned OpNum, |
| 181 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 182 | void printModImmOperand(const MCInst *MI, unsigned OpNum, |
| 183 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 184 | void printGPRPairOperand(const MCInst *MI, unsigned OpNum, |
| 185 | const MCSubtargetInfo &STI, raw_ostream &O); |
Chris Lattner | add5749 | 2009-10-19 22:23:04 +0000 | [diff] [blame] | 186 | |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 187 | void printPCLabel(const MCInst *MI, unsigned OpNum, |
| 188 | const MCSubtargetInfo &STI, raw_ostream &O); |
Jim Grosbach | 4739f2e | 2012-10-30 01:04:51 +0000 | [diff] [blame] | 189 | void printThumbLdrLabelOperand(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 190 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 191 | void printFBits16(const MCInst *MI, unsigned OpNum, |
| 192 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 193 | void printFBits32(const MCInst *MI, unsigned OpNum, |
| 194 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 195 | void printVectorIndex(const MCInst *MI, unsigned OpNum, |
| 196 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 197 | void printVectorListOne(const MCInst *MI, unsigned OpNum, |
| 198 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 199 | void printVectorListTwo(const MCInst *MI, unsigned OpNum, |
| 200 | const MCSubtargetInfo &STI, raw_ostream &O); |
Jim Grosbach | 13a292c | 2012-03-06 22:01:44 +0000 | [diff] [blame] | 201 | void printVectorListTwoSpaced(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 202 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 203 | void printVectorListThree(const MCInst *MI, unsigned OpNum, |
| 204 | const MCSubtargetInfo &STI, raw_ostream &O); |
| 205 | void printVectorListFour(const MCInst *MI, unsigned OpNum, |
| 206 | const MCSubtargetInfo &STI, raw_ostream &O); |
Jim Grosbach | cd6f5e7 | 2011-11-30 01:09:44 +0000 | [diff] [blame] | 207 | void printVectorListOneAllLanes(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 208 | const MCSubtargetInfo &STI, raw_ostream &O); |
Jim Grosbach | 3ecf976 | 2011-11-30 18:21:25 +0000 | [diff] [blame] | 209 | void printVectorListTwoAllLanes(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 210 | const MCSubtargetInfo &STI, raw_ostream &O); |
Jim Grosbach | b78403c | 2012-01-24 23:47:04 +0000 | [diff] [blame] | 211 | void printVectorListThreeAllLanes(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 212 | const MCSubtargetInfo &STI, raw_ostream &O); |
Jim Grosbach | 086cbfa | 2012-01-25 00:01:08 +0000 | [diff] [blame] | 213 | void printVectorListFourAllLanes(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 214 | const MCSubtargetInfo &STI, raw_ostream &O); |
Jim Grosbach | c5af54e | 2011-12-21 00:38:54 +0000 | [diff] [blame] | 215 | void printVectorListTwoSpacedAllLanes(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 216 | const MCSubtargetInfo &STI, |
Jim Grosbach | c5af54e | 2011-12-21 00:38:54 +0000 | [diff] [blame] | 217 | raw_ostream &O); |
Jim Grosbach | b78403c | 2012-01-24 23:47:04 +0000 | [diff] [blame] | 218 | void printVectorListThreeSpacedAllLanes(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 219 | const MCSubtargetInfo &STI, |
Jim Grosbach | b78403c | 2012-01-24 23:47:04 +0000 | [diff] [blame] | 220 | raw_ostream &O); |
Jim Grosbach | 086cbfa | 2012-01-25 00:01:08 +0000 | [diff] [blame] | 221 | void printVectorListFourSpacedAllLanes(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 222 | const MCSubtargetInfo &STI, |
Jim Grosbach | 086cbfa | 2012-01-25 00:01:08 +0000 | [diff] [blame] | 223 | raw_ostream &O); |
Jim Grosbach | ac2af3f | 2012-01-23 23:20:46 +0000 | [diff] [blame] | 224 | void printVectorListThreeSpaced(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 225 | const MCSubtargetInfo &STI, raw_ostream &O); |
Jim Grosbach | ed561fc | 2012-01-24 00:43:17 +0000 | [diff] [blame] | 226 | void printVectorListFourSpaced(const MCInst *MI, unsigned OpNum, |
Akira Hatanaka | ee97475 | 2015-03-27 23:41:42 +0000 | [diff] [blame] | 227 | const MCSubtargetInfo &STI, raw_ostream &O); |
Chris Lattner | a290778 | 2009-10-19 19:56:26 +0000 | [diff] [blame] | 228 | }; |
Jim Grosbach | 4e51d0b | 2010-09-17 21:25:10 +0000 | [diff] [blame] | 229 | |
Chris Lattner | a76eab4 | 2010-11-14 19:40:38 +0000 | [diff] [blame] | 230 | } // end namespace llvm |
Chris Lattner | a290778 | 2009-10-19 19:56:26 +0000 | [diff] [blame] | 231 | |
| 232 | #endif |