LLVM  12.0.0git
Public Attributes | List of all members
llvm::X86Disassembler::InternalInstruction Struct Reference

The x86 internal instruction, which is produced by the decoder. More...

#include "Target/X86/Disassembler/X86DisassemblerDecoder.h"

Collaboration diagram for llvm::X86Disassembler::InternalInstruction:
Collaboration graph
[legend]

Public Attributes

llvm::ArrayRef< uint8_t > bytes
 
uint64_t readerCursor
 
DisassemblerMode mode
 
uint64_t startLocation
 
size_t length
 
uint8_t mandatoryPrefix
 
uint8_t vectorExtensionPrefix [4]
 
VectorExtensionType vectorExtensionType
 
uint8_t rexPrefix
 
SegmentOverride segmentOverride
 
bool xAcquireRelease
 
bool hasAdSize
 
bool hasOpSize
 
bool hasLockPrefix
 
uint8_t repeatPrefix
 
uint8_t registerSize
 
uint8_t addressSize
 
uint8_t displacementSize
 
uint8_t immediateSize
 
uint8_t displacementOffset
 
uint8_t immediateOffset
 
uint8_t opcode
 
OpcodeType opcodeType
 
uint16_t instructionID
 
const InstructionSpecifierspec
 
Reg vvvv
 
Reg writemask
 
bool consumedModRM
 
uint8_t modRM
 
uint8_t sib
 
int32_t displacement
 
uint8_t numImmediatesConsumed
 
uint8_t numImmediatesTranslated
 
uint64_t immediates [2]
 
Reg opcodeRegister
 
EABase eaRegBase
 
Reg regBase
 
EABase eaBase
 
EADisplacement eaDisplacement
 
Reg reg
 
SIBIndex sibIndexBase
 
SIBIndex sibIndex
 
uint8_t sibScale
 
SIBBase sibBase
 
uint8_t RC
 
ArrayRef< OperandSpecifieroperands
 

Detailed Description

The x86 internal instruction, which is produced by the decoder.

Definition at line 524 of file X86DisassemblerDecoder.h.

Member Data Documentation

◆ addressSize

uint8_t llvm::X86Disassembler::InternalInstruction::addressSize

◆ bytes

llvm::ArrayRef<uint8_t> llvm::X86Disassembler::InternalInstruction::bytes

Definition at line 526 of file X86DisassemblerDecoder.h.

Referenced by consume(), and peek().

◆ consumedModRM

bool llvm::X86Disassembler::InternalInstruction::consumedModRM

Definition at line 601 of file X86DisassemblerDecoder.h.

Referenced by readModRM().

◆ displacement

int32_t llvm::X86Disassembler::InternalInstruction::displacement

Definition at line 608 of file X86DisassemblerDecoder.h.

Referenced by readDisplacement(), readOperands(), and translateRMMemory().

◆ displacementOffset

uint8_t llvm::X86Disassembler::InternalInstruction::displacementOffset

Definition at line 571 of file X86DisassemblerDecoder.h.

Referenced by readDisplacement(), and translateRMMemory().

◆ displacementSize

uint8_t llvm::X86Disassembler::InternalInstruction::displacementSize

◆ eaBase

EABase llvm::X86Disassembler::InternalInstruction::eaBase

◆ eaDisplacement

EADisplacement llvm::X86Disassembler::InternalInstruction::eaDisplacement

◆ eaRegBase

EABase llvm::X86Disassembler::InternalInstruction::eaRegBase

Definition at line 622 of file X86DisassemblerDecoder.h.

Referenced by readModRM().

◆ hasAdSize

bool llvm::X86Disassembler::InternalInstruction::hasAdSize

◆ hasLockPrefix

bool llvm::X86Disassembler::InternalInstruction::hasLockPrefix

Definition at line 559 of file X86DisassemblerDecoder.h.

Referenced by readPrefixes().

◆ hasOpSize

bool llvm::X86Disassembler::InternalInstruction::hasOpSize

Definition at line 557 of file X86DisassemblerDecoder.h.

Referenced by getInstructionID(), and readPrefixes().

◆ immediateOffset

uint8_t llvm::X86Disassembler::InternalInstruction::immediateOffset

Definition at line 572 of file X86DisassemblerDecoder.h.

Referenced by readImmediate(), and translateImmediate().

◆ immediates

uint64_t llvm::X86Disassembler::InternalInstruction::immediates[2]

Definition at line 613 of file X86DisassemblerDecoder.h.

Referenced by readImmediate(), readOperands(), and translateOperand().

◆ immediateSize

uint8_t llvm::X86Disassembler::InternalInstruction::immediateSize

◆ instructionID

uint16_t llvm::X86Disassembler::InternalInstruction::instructionID

Definition at line 584 of file X86DisassemblerDecoder.h.

Referenced by getInstructionID(), and translateInstruction().

◆ length

size_t llvm::X86Disassembler::InternalInstruction::length

Definition at line 537 of file X86DisassemblerDecoder.h.

◆ mandatoryPrefix

uint8_t llvm::X86Disassembler::InternalInstruction::mandatoryPrefix

Definition at line 542 of file X86DisassemblerDecoder.h.

Referenced by getInstructionID(), readOpcode(), and readPrefixes().

◆ mode

DisassemblerMode llvm::X86Disassembler::InternalInstruction::mode

◆ modRM

uint8_t llvm::X86Disassembler::InternalInstruction::modRM

◆ numImmediatesConsumed

uint8_t llvm::X86Disassembler::InternalInstruction::numImmediatesConsumed

Definition at line 611 of file X86DisassemblerDecoder.h.

Referenced by readImmediate(), and readOperands().

◆ numImmediatesTranslated

uint8_t llvm::X86Disassembler::InternalInstruction::numImmediatesTranslated

Definition at line 612 of file X86DisassemblerDecoder.h.

Referenced by translateInstruction(), and translateOperand().

◆ opcode

uint8_t llvm::X86Disassembler::InternalInstruction::opcode

◆ opcodeRegister

Reg llvm::X86Disassembler::InternalInstruction::opcodeRegister

Definition at line 616 of file X86DisassemblerDecoder.h.

Referenced by readOpcodeRegister(), and translateOperand().

◆ opcodeType

OpcodeType llvm::X86Disassembler::InternalInstruction::opcodeType

◆ operands

ArrayRef<OperandSpecifier> llvm::X86Disassembler::InternalInstruction::operands

Definition at line 641 of file X86DisassemblerDecoder.h.

Referenced by translateInstruction(), and translateOperand().

◆ RC

uint8_t llvm::X86Disassembler::InternalInstruction::RC

Definition at line 639 of file X86DisassemblerDecoder.h.

Referenced by readOperands(), and translateOperand().

◆ readerCursor

uint64_t llvm::X86Disassembler::InternalInstruction::readerCursor

◆ reg

Reg llvm::X86Disassembler::InternalInstruction::reg

Definition at line 630 of file X86DisassemblerDecoder.h.

Referenced by readModRM(), and translateOperand().

◆ regBase

Reg llvm::X86Disassembler::InternalInstruction::regBase

Definition at line 623 of file X86DisassemblerDecoder.h.

Referenced by readModRM().

◆ registerSize

uint8_t llvm::X86Disassembler::InternalInstruction::registerSize

Definition at line 564 of file X86DisassemblerDecoder.h.

Referenced by readModRM(), readOpcodeRegister(), and readPrefixes().

◆ repeatPrefix

uint8_t llvm::X86Disassembler::InternalInstruction::repeatPrefix

Definition at line 561 of file X86DisassemblerDecoder.h.

Referenced by getInstructionID(), and readPrefixes().

◆ rexPrefix

uint8_t llvm::X86Disassembler::InternalInstruction::rexPrefix

◆ segmentOverride

SegmentOverride llvm::X86Disassembler::InternalInstruction::segmentOverride

◆ sib

uint8_t llvm::X86Disassembler::InternalInstruction::sib

Definition at line 605 of file X86DisassemblerDecoder.h.

Referenced by readSIB().

◆ sibBase

SIBBase llvm::X86Disassembler::InternalInstruction::sibBase

Definition at line 636 of file X86DisassemblerDecoder.h.

Referenced by readSIB(), and translateRMMemory().

◆ sibIndex

SIBIndex llvm::X86Disassembler::InternalInstruction::sibIndex

Definition at line 634 of file X86DisassemblerDecoder.h.

Referenced by readOperands(), readSIB(), and translateRMMemory().

◆ sibIndexBase

SIBIndex llvm::X86Disassembler::InternalInstruction::sibIndexBase

Definition at line 633 of file X86DisassemblerDecoder.h.

Referenced by readOperands(), and readSIB().

◆ sibScale

uint8_t llvm::X86Disassembler::InternalInstruction::sibScale

Definition at line 635 of file X86DisassemblerDecoder.h.

Referenced by readSIB(), and translateRMMemory().

◆ spec

const InstructionSpecifier* llvm::X86Disassembler::InternalInstruction::spec

Definition at line 586 of file X86DisassemblerDecoder.h.

Referenced by getInstructionID(), readOperands(), and translateInstruction().

◆ startLocation

uint64_t llvm::X86Disassembler::InternalInstruction::startLocation

◆ vectorExtensionPrefix

uint8_t llvm::X86Disassembler::InternalInstruction::vectorExtensionPrefix[4]

◆ vectorExtensionType

VectorExtensionType llvm::X86Disassembler::InternalInstruction::vectorExtensionType

◆ vvvv

Reg llvm::X86Disassembler::InternalInstruction::vvvv

Definition at line 594 of file X86DisassemblerDecoder.h.

Referenced by readOperands(), readVVVV(), and translateOperand().

◆ writemask

Reg llvm::X86Disassembler::InternalInstruction::writemask

Definition at line 597 of file X86DisassemblerDecoder.h.

Referenced by readMaskRegister(), and translateOperand().

◆ xAcquireRelease

bool llvm::X86Disassembler::InternalInstruction::xAcquireRelease

Definition at line 552 of file X86DisassemblerDecoder.h.

Referenced by readPrefixes(), and translateInstruction().


The documentation for this struct was generated from the following file: