blob: 6d2bf1d49697fbce75c2e38c7273239eb93821b5 [file] [log] [blame]
Chris Lattner055c9652002-10-29 21:05:24 +00001//===- X86InstrInfo.cpp - X86 Instruction Information ---------------===//
Chris Lattner72614082002-10-25 22:55:53 +00002//
Chris Lattner33f53b52002-10-29 20:48:56 +00003// This file contains the X86 implementation of the MachineInstrInfo class.
Chris Lattner72614082002-10-25 22:55:53 +00004//
5//===----------------------------------------------------------------------===//
6
Chris Lattner055c9652002-10-29 21:05:24 +00007#include "X86InstrInfo.h"
Chris Lattner9bbf4392002-10-29 17:43:19 +00008#include "llvm/CodeGen/MachineInstr.h"
9#include <iostream>
Chris Lattner72614082002-10-25 22:55:53 +000010
Chris Lattner055c9652002-10-29 21:05:24 +000011// X86Insts - Turn the InstrInfo.def file into a bunch of instruction
Chris Lattner72614082002-10-25 22:55:53 +000012// descriptors
13//
Chris Lattner9bbf4392002-10-29 17:43:19 +000014static const MachineInstrDescriptor X86Insts[] = {
15#define I(ENUM, NAME, FLAGS, TSFLAGS) \
16 { NAME, -1, -1, 0, false, 0, 0, TSFLAGS, FLAGS },
Chris Lattner055c9652002-10-29 21:05:24 +000017#include "X86InstrInfo.def"
Chris Lattner72614082002-10-25 22:55:53 +000018};
19
Chris Lattner055c9652002-10-29 21:05:24 +000020X86InstrInfo::X86InstrInfo()
Chris Lattner9bbf4392002-10-29 17:43:19 +000021 : MachineInstrInfo(X86Insts, sizeof(X86Insts)/sizeof(X86Insts[0]), 0) {
Chris Lattner72614082002-10-25 22:55:53 +000022}
23
24
25// print - Print out an x86 instruction in GAS syntax
Chris Lattner055c9652002-10-29 21:05:24 +000026void X86InstrInfo::print(const MachineInstr *MI, std::ostream &O) const {
Chris Lattner72614082002-10-25 22:55:53 +000027 // FIXME: This sucks.
Chris Lattner9bbf4392002-10-29 17:43:19 +000028 O << getName(MI->getOpCode()) << "\n";
Chris Lattner72614082002-10-25 22:55:53 +000029}
30