1//===-- llvm/MC/MCFixedLenDisassembler.h - Decoder driver -------*- 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// Fixed length disassembler decoder state machine driver.
10//===----------------------------------------------------------------------===//
11#ifndef LLVM_MC_MCFIXEDLENDISASSEMBLER_H
12#define LLVM_MC_MCFIXEDLENDISASSEMBLER_H
13
14namespace llvm {
15
16namespace MCD {
17// Disassembler state machine opcodes.
18enum DecoderOps {
19  OPC_ExtractField = 1, // OPC_ExtractField(uint8_t Start, uint8_t Len)
20  OPC_FilterValue,      // OPC_FilterValue(uleb128 Val, uint16_t NumToSkip)
21  OPC_CheckField,       // OPC_CheckField(uint8_t Start, uint8_t Len,
22                        //                uleb128 Val, uint16_t NumToSkip)
23  OPC_CheckPredicate,   // OPC_CheckPredicate(uleb128 PIdx, uint16_t NumToSkip)
24  OPC_Decode,           // OPC_Decode(uleb128 Opcode, uleb128 DIdx)
25  OPC_SoftFail,         // OPC_SoftFail(uleb128 PMask, uleb128 NMask)
26  OPC_Fail              // OPC_Fail()
27};
28
29} // namespace MCDecode
30} // namespace llvm
31
32#endif
33