blob: 0417e9dece405fc7942777fa2ff7b00c8e2af019 [file] [log] [blame]
Sean Callanan8ed9f512009-12-19 02:59:52 +00001//===- X86DisassemblerShared.h - Emitter shared header ----------*- C++ -*-===//
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#ifndef X86DISASSEMBLERSHARED_H
11#define X86DISASSEMBLERSHARED_H
12
13#include <string>
Nuno Lopes014dc702009-12-19 11:52:18 +000014#include <string.h>
Sean Callanan8ed9f512009-12-19 02:59:52 +000015
Daniel Dunbar87830872009-12-19 04:16:57 +000016#define INSTRUCTION_SPECIFIER_FIELDS \
17 bool filtered; \
18 InstructionContext insnContext; \
19 std::string name; \
20 \
21 InstructionSpecifier() { \
22 filtered = false; \
23 insnContext = IC; \
24 name = ""; \
25 modifierType = MODIFIER_NONE; \
26 modifierBase = 0; \
27 memset(operands, 0, sizeof(operands)); \
Sean Callanan8ed9f512009-12-19 02:59:52 +000028 }
29
30#define INSTRUCTION_IDS \
31 InstrUID instructionIDs[256];
32
33#include "../../lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h"
34
35#undef INSTRUCTION_SPECIFIER_FIELDS
36#undef INSTRUCTION_IDS
37
38#endif