14 #define DEBUG_TYPE "asm-printer"
28 #include "NVPTXGenAsmWriter.inc"
41 unsigned RCId = (RegNo >> 28);
69 unsigned VReg = RegNo & 0x0FFFFFFF;
87 }
else if (Op.
isImm()) {
90 assert(Op.
isExpr() &&
"Unknown operand kind in printOperand");
96 const char *Modifier) {
100 if (
strcmp(Modifier,
"ftz") == 0) {
104 }
else if (
strcmp(Modifier,
"sat") == 0) {
108 }
else if (
strcmp(Modifier,
"base") == 0) {
146 const char *Modifier) {
148 int64_t Imm = MO.
getImm();
150 if (
strcmp(Modifier,
"ftz") == 0) {
154 }
else if (
strcmp(Modifier,
"base") == 0) {
222 int Imm = (int) MO.
getImm();
223 if (!
strcmp(Modifier,
"volatile")) {
226 }
else if (!
strcmp(Modifier,
"addsp")) {
248 }
else if (!
strcmp(Modifier,
"sign")) {
255 }
else if (!
strcmp(Modifier,
"vec")) {
270 if (Modifier && !
strcmp(Modifier,
"add")) {
285 assert(Op.
isExpr() &&
"Call prototype is not an MCExpr?");
287 const MCSymbol &Sym = cast<MCSymbolRefExpr>(Expr)->getSymbol();
int strcmp(const char *s1, const char *s2);
void printCmpMode(const MCInst *MI, int OpNum, raw_ostream &O, const char *Modifier=0)
void printInstruction(const MCInst *MI, raw_ostream &O)
void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O)
LLVM_ATTRIBUTE_NORETURN void report_fatal_error(const char *reason, bool gen_crash_diag=true)
format_object1< int64_t > formatImm(const int64_t Value) const
Utility function to print immediates in decimal or hex.
#define llvm_unreachable(msg)
unsigned getReg() const
getReg - Returns the register number.
void printCvtMode(const MCInst *MI, int OpNum, raw_ostream &O, const char *Modifier=0)
void printMemOperand(const MCInst *MI, int OpNum, raw_ostream &O, const char *Modifier=0)
const MCExpr * getExpr() const
StringRef markup(StringRef s) const
Utility functions to make adding mark ups simpler.
static const char * getRegisterName(unsigned RegNo)
virtual void printRegName(raw_ostream &OS, unsigned RegNo) const
printRegName - Print the assembler register name.
virtual void printInst(const MCInst *MI, raw_ostream &OS, StringRef Annot)
void printLdStCode(const MCInst *MI, int OpNum, raw_ostream &O, const char *Modifier=0)
uint64_t getFeatureBits() const
void printProtoIdent(const MCInst *MI, int OpNum, raw_ostream &O, const char *Modifier=0)
StringRef getName() const
getName - Get the symbol name.
void printAnnotation(raw_ostream &OS, StringRef Annot)
Utility function for printing annotations.
void setAvailableFeatures(uint64_t Value)
const MCRegisterInfo & MRI
const MCOperand & getOperand(unsigned i) const
NVPTXInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI, const MCSubtargetInfo &STI)