aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp
blob: 934e45aa8157e0dcefb7a10131852e7528a4d470 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//===-- X86ATTInstPrinter.cpp - AT&T assembly instruction printing --------===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file includes code for rendering MCInst instances as AT&T-style
// assembly.
//
//===----------------------------------------------------------------------===//

#define DEBUG_TYPE "asm-printer"
#include "llvm/MC/MCInst.h"
#include "X86ATTAsmPrinter.h"
#include "llvm/Support/raw_ostream.h"
using namespace llvm;

// Include the auto-generated portion of the assembly writer.
#define MachineInstr MCInst
#define NO_ASM_WRITER_BOILERPLATE
#include "X86GenAsmWriter.inc"
#undef MachineInstr

void X86ATTAsmPrinter::printSSECC(const MCInst *MI, unsigned Op) {
  unsigned char value = MI->getOperand(Op).getImm();
  assert(value <= 7 && "Invalid ssecc argument!");
  switch (value) {
    case 0: O << "eq"; break;
    case 1: O << "lt"; break;
    case 2: O << "le"; break;
    case 3: O << "unord"; break;
    case 4: O << "neq"; break;
    case 5: O << "nlt"; break;
    case 6: O << "nle"; break;
    case 7: O << "ord"; break;
  }
}


void X86ATTAsmPrinter::printPICLabel(const MCInst *MI, unsigned Op) {
  assert(0 &&
         "This is only used for MOVPC32r, should lower before asm printing!");
}


void X86ATTAsmPrinter::printOperand(const MCInst *MI, unsigned OpNo,
                                    const char *Modifier, bool NotRIPRel) {
}

void X86ATTAsmPrinter::printLeaMemReference(const MCInst *MI, unsigned Op,
                                            const char *Modifier,
                                            bool NotRIPRel) {
}

void X86ATTAsmPrinter::printMemReference(const MCInst *MI, unsigned Op,
                                         const char *Modifier, bool NotRIPRel){
}