Home | History | Annotate | Download | only in MC
      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 
     14 namespace llvm {
     15 
     16 namespace MCD {
     17 // Disassembler state machine opcodes.
     18 enum 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_TryDecode,        // OPC_TryDecode(uleb128 Opcode, uleb128 DIdx,
     26                         //               uint16_t NumToSkip)
     27   OPC_SoftFail,         // OPC_SoftFail(uleb128 PMask, uleb128 NMask)
     28   OPC_Fail              // OPC_Fail()
     29 };
     30 
     31 } // namespace MCDecode
     32 } // namespace llvm
     33 
     34 #endif
     35