Lines Matching +full:three +full:- +full:level

1 //===- X86DisassemblerTables.h - Disassembler tables ------------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
14 //===----------------------------------------------------------------------===//
32 /// DisassemblerTables - Encapsulates all the decode tables being generated by
39 /// [0] one-byte opcodes
40 /// [1] two-byte opcodes of the form 0f __
41 /// [2] three-byte opcodes of the form 0f 38 __
42 /// [3] three-byte opcodes of the form 0f 3a __
63 /// emitModRMDecision - Emits a table of entries corresponding to a single
74 /// regardless of ModR/M byte, two entries - one for bytes 0x00-0xbf and one
75 /// for bytes 0xc0-0xff -, or 256 entries, one for each possible byte.
87 /// @param o1 - The output stream to print the ID table to.
88 /// @param o2 - The output stream to print the decision structure to.
89 /// @param i1 - The indentation level to use with stream o1.
90 /// @param i2 - The indentation level to use with stream o2.
91 /// @param ModRMTableNum - next table number for adding to ModRMTable.
92 /// @param decision - The ModR/M decision to emit. This decision has 256
93 /// entries - emitModRMDecision decides how to compact it.
98 /// emitOpcodeDecision - Emits an OpcodeDecision and all its subsidiary ModR/M
111 /// stream and indent level for the UID tables generated by
114 /// @param o1 - The output stream to print the ID tables generated by
116 /// @param o2 - The output stream for the decision structure itself.
117 /// @param i1 - The indent level to use with stream o1.
118 /// @param i2 - The indent level to use with stream o2.
119 /// @param ModRMTableNum - next table number for adding to ModRMTable.
120 /// @param decision - The OpcodeDecision to emit along with its subsidiary
126 /// emitContextDecision - Emits a ContextDecision and all its subsidiary
147 /// @param o1 - The output stream to print the ID tables generated by
149 /// @param o2 - The output stream to print the decision structure to.
150 /// @param i1 - The indent level to use with stream o1.
151 /// @param i2 - The indent level to use with stream o2.
152 /// @param ModRMTableNum - next table number for adding to ModRMTable.
153 /// @param decision - The ContextDecision to emit along with its subsidiary
155 /// @param name - The name for the ContextDecision.
160 /// emitInstructionInfo - Prints the instruction specifier table, which has
180 /// nnnn is the ID of the current instruction (0-based). This table
181 /// includes entries for non-instructions like PHINODE.
186 /// @param o - The output stream to which the instruction table should be
188 /// @param i - The indent level for use with the stream.
191 /// emitContextTable - Prints the table that is used to translate from an
203 /// @param o - The output stream to which the context table should be
205 /// @param i - The indent level for use with the stream.
208 /// emitContextDecisions - Prints all four ContextDecision structures using
211 /// @param o1 - The output stream to print the ID tables generated by
213 /// @param o2 - The output stream to print the decision structures to.
214 /// @param i1 - The indent level to use with stream o1.
215 /// @param i2 - The indent level to use with stream o2.
216 /// @param ModRMTableNum - next table number for adding to ModRMTable.
220 /// setTableFields - Uses a ModRMFilter to set the appropriate entries in a
223 /// @param decision - The ModRMDecision to populate.
224 /// @param filter - The filter to use in deciding which entries to populate.
225 /// @param uid - The unique ID to set matching entries to.
226 /// @param opcode - The opcode of the instruction, for error reporting.
231 /// Constructor - Allocates space for the class decisions and clears them.
236 /// emit - Emits the instruction table, context table, and class decisions.
238 /// @param o - The output stream to print the tables to.
241 /// setTableFields - Uses the opcode type, instruction context, opcode, and a
245 /// @param type - The opcode type (ONEBYTE, TWOBYTE, etc.)
246 /// @param insnContext - The context to use (IC, IC_64BIT, etc.)
247 /// @param opcode - The last byte of the opcode (not counting any escape
249 /// @param filter - The ModRMFilter that decides which ModR/M byte
252 /// @param uid - The unique ID of the instruction.
253 /// @param is32bit - Instructon is only 32-bit
254 /// @param noPrefix - Instruction record has no prefix.
255 /// @param ignoresVEX_L - Instruction ignores VEX.L
256 /// @param ignoresVEX_W - Instruction ignores VEX.W
257 /// @param AddrSize - Instructions address size 16/32/64. 0 is unspecified
263 /// specForUID - Returns the instruction specifier for a given unique
266 /// @param uid - The unique ID of the instruction.
267 /// @return - A reference to the instruction specifier.
275 // hasConflicts - Reports whether there were primary decode conflicts
277 // @return - true if there were; false otherwise.