X86DisassemblerShared.h revision 201360
1201360Srdivacky//===- X86DisassemblerShared.h - Emitter shared header ----------*- C++ -*-===// 2201360Srdivacky// 3201360Srdivacky// The LLVM Compiler Infrastructure 4201360Srdivacky// 5201360Srdivacky// This file is distributed under the University of Illinois Open Source 6201360Srdivacky// License. See LICENSE.TXT for details. 7201360Srdivacky// 8201360Srdivacky//===----------------------------------------------------------------------===// 9201360Srdivacky 10201360Srdivacky#ifndef X86DISASSEMBLERSHARED_H 11201360Srdivacky#define X86DISASSEMBLERSHARED_H 12201360Srdivacky 13201360Srdivacky#include <string> 14201360Srdivacky#include <string.h> 15201360Srdivacky 16201360Srdivacky#define INSTRUCTION_SPECIFIER_FIELDS \ 17201360Srdivacky bool filtered; \ 18201360Srdivacky InstructionContext insnContext; \ 19201360Srdivacky std::string name; \ 20201360Srdivacky \ 21201360Srdivacky InstructionSpecifier() { \ 22201360Srdivacky filtered = false; \ 23201360Srdivacky insnContext = IC; \ 24201360Srdivacky name = ""; \ 25201360Srdivacky modifierType = MODIFIER_NONE; \ 26201360Srdivacky modifierBase = 0; \ 27201360Srdivacky memset(operands, 0, sizeof(operands)); \ 28201360Srdivacky } 29201360Srdivacky 30201360Srdivacky#define INSTRUCTION_IDS \ 31201360Srdivacky InstrUID instructionIDs[256]; 32201360Srdivacky 33201360Srdivacky#include "../../lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h" 34201360Srdivacky 35201360Srdivacky#undef INSTRUCTION_SPECIFIER_FIELDS 36201360Srdivacky#undef INSTRUCTION_IDS 37201360Srdivacky 38201360Srdivacky#endif 39