blob: 2d3d3fc1bcbb92d67dcecd4b05e46aea1bdd0d35 [file] [log] [blame]
Sean Callanan04cc3072009-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
Nuno Lopes91b866a2009-12-19 11:52:18 +000013#include <string.h>
Chandler Carruth91d19d82012-12-04 10:37:14 +000014#include <string>
Sean Callanan04cc3072009-12-19 02:59:52 +000015
Sean Callanan04cc3072009-12-19 02:59:52 +000016#define INSTRUCTION_IDS \
17 InstrUID instructionIDs[256];
18
19#include "../../lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h"
20
21#undef INSTRUCTION_SPECIFIER_FIELDS
22#undef INSTRUCTION_IDS
23
Richard Smith82b47d52014-04-20 21:35:26 +000024struct InstructionSpecifier {
25 llvm::X86Disassembler::OperandSpecifier operands[X86_MAX_OPERANDS];
26 llvm::X86Disassembler::InstructionContext insnContext;
27 std::string name;
28
29 InstructionSpecifier() {
30 insnContext = llvm::X86Disassembler::IC;
31 name = "";
32 memset(operands, 0, sizeof(operands));
33 }
34};
35
Sean Callanan04cc3072009-12-19 02:59:52 +000036#endif