LLVM 22.0.0git
MCDecoderOps.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8// Disassembler decoder state machine ops.
9//===----------------------------------------------------------------------===//
10#ifndef LLVM_MC_MCDECODEROPS_H
11#define LLVM_MC_MCDECODEROPS_H
12
13namespace llvm::MCD {
14
15// Disassembler state machine opcodes.
16// nts_t is either uint16_t or uint24_t based on whether large decoder table is
17// enabled.
19 OPC_Scope = 1, // OPC_Scope(nts_t NumToSkip)
20 OPC_ExtractField, // OPC_ExtractField(uleb128 Start, uint8_t Len)
21 OPC_FilterValueOrSkip, // OPC_FilterValueOrSkip(uleb128 Val, nts_t NumToSkip)
22 OPC_FilterValue, // OPC_FilterValue(uleb128 Val)
23 OPC_CheckField, // OPC_CheckField(uleb128 Start, uint8_t Len,
24 // uleb128 Val)
25 OPC_CheckPredicate, // OPC_CheckPredicate(uleb128 PIdx)
26 OPC_Decode, // OPC_Decode(uleb128 Opcode, uleb128 DIdx)
27 OPC_SoftFail, // OPC_SoftFail(uleb128 PMask, uleb128 NMask)
28};
29
30} // namespace llvm::MCD
31
32#endif
@ OPC_FilterValueOrSkip
@ OPC_CheckPredicate