2009-12-19 02:59:52 +00:00
|
|
|
//===- X86DisassemblerShared.h - Emitter shared header ----------*- C++ -*-===//
|
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
#ifndef X86DISASSEMBLERSHARED_H
|
|
|
|
#define X86DISASSEMBLERSHARED_H
|
|
|
|
|
2009-12-19 11:52:18 +00:00
|
|
|
#include <string.h>
|
2012-12-04 10:37:14 +00:00
|
|
|
#include <string>
|
2009-12-19 02:59:52 +00:00
|
|
|
|
2009-12-19 04:16:57 +00:00
|
|
|
#define INSTRUCTION_SPECIFIER_FIELDS \
|
2012-08-01 07:39:18 +00:00
|
|
|
struct OperandSpecifier operands[X86_MAX_OPERANDS]; \
|
2009-12-19 04:16:57 +00:00
|
|
|
bool filtered; \
|
|
|
|
InstructionContext insnContext; \
|
|
|
|
std::string name; \
|
|
|
|
\
|
|
|
|
InstructionSpecifier() { \
|
|
|
|
filtered = false; \
|
|
|
|
insnContext = IC; \
|
|
|
|
name = ""; \
|
|
|
|
modifierType = MODIFIER_NONE; \
|
|
|
|
modifierBase = 0; \
|
|
|
|
memset(operands, 0, sizeof(operands)); \
|
2009-12-19 02:59:52 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#define INSTRUCTION_IDS \
|
|
|
|
InstrUID instructionIDs[256];
|
|
|
|
|
|
|
|
#include "../../lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h"
|
|
|
|
|
|
|
|
#undef INSTRUCTION_SPECIFIER_FIELDS
|
|
|
|
#undef INSTRUCTION_IDS
|
|
|
|
|
|
|
|
#endif
|