LLVM 20.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"

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 rex2ExtensionPrefix [2]
 
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 [3]
 
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 674 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 676 of file X86DisassemblerDecoder.h.

Referenced by consume(), and peek().

◆ consumedModRM

bool llvm::X86Disassembler::InternalInstruction::consumedModRM

Definition at line 753 of file X86DisassemblerDecoder.h.

Referenced by readModRM().

◆ displacement

int32_t llvm::X86Disassembler::InternalInstruction::displacement

Definition at line 760 of file X86DisassemblerDecoder.h.

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

◆ displacementOffset

uint8_t llvm::X86Disassembler::InternalInstruction::displacementOffset

Definition at line 723 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 774 of file X86DisassemblerDecoder.h.

Referenced by readModRM().

◆ hasAdSize

bool llvm::X86Disassembler::InternalInstruction::hasAdSize

◆ hasLockPrefix

bool llvm::X86Disassembler::InternalInstruction::hasLockPrefix

Definition at line 711 of file X86DisassemblerDecoder.h.

Referenced by readPrefixes().

◆ hasOpSize

bool llvm::X86Disassembler::InternalInstruction::hasOpSize

Definition at line 709 of file X86DisassemblerDecoder.h.

Referenced by getInstructionID(), and readPrefixes().

◆ immediateOffset

uint8_t llvm::X86Disassembler::InternalInstruction::immediateOffset

Definition at line 724 of file X86DisassemblerDecoder.h.

Referenced by readImmediate(), and translateImmediate().

◆ immediates

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

Definition at line 765 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 736 of file X86DisassemblerDecoder.h.

Referenced by getInstructionID(), and translateInstruction().

◆ length

size_t llvm::X86Disassembler::InternalInstruction::length

Definition at line 687 of file X86DisassemblerDecoder.h.

Referenced by translateImmediate(), and translateRMMemory().

◆ mandatoryPrefix

uint8_t llvm::X86Disassembler::InternalInstruction::mandatoryPrefix

Definition at line 692 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 763 of file X86DisassemblerDecoder.h.

Referenced by readImmediate(), and readOperands().

◆ numImmediatesTranslated

uint8_t llvm::X86Disassembler::InternalInstruction::numImmediatesTranslated

Definition at line 764 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 768 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 793 of file X86DisassemblerDecoder.h.

Referenced by translateInstruction(), and translateOperand().

◆ RC

uint8_t llvm::X86Disassembler::InternalInstruction::RC

Definition at line 791 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 782 of file X86DisassemblerDecoder.h.

Referenced by readModRM(), and translateOperand().

◆ regBase

Reg llvm::X86Disassembler::InternalInstruction::regBase

Definition at line 775 of file X86DisassemblerDecoder.h.

Referenced by readModRM().

◆ registerSize

uint8_t llvm::X86Disassembler::InternalInstruction::registerSize

Definition at line 716 of file X86DisassemblerDecoder.h.

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

◆ repeatPrefix

uint8_t llvm::X86Disassembler::InternalInstruction::repeatPrefix

Definition at line 713 of file X86DisassemblerDecoder.h.

Referenced by getInstructionID(), and readPrefixes().

◆ rex2ExtensionPrefix

uint8_t llvm::X86Disassembler::InternalInstruction::rex2ExtensionPrefix[2]

◆ rexPrefix

uint8_t llvm::X86Disassembler::InternalInstruction::rexPrefix

◆ segmentOverride

SegmentOverride llvm::X86Disassembler::InternalInstruction::segmentOverride

◆ sib

uint8_t llvm::X86Disassembler::InternalInstruction::sib

Definition at line 757 of file X86DisassemblerDecoder.h.

Referenced by readSIB().

◆ sibBase

SIBBase llvm::X86Disassembler::InternalInstruction::sibBase

Definition at line 788 of file X86DisassemblerDecoder.h.

Referenced by readSIB(), and translateRMMemory().

◆ sibIndex

SIBIndex llvm::X86Disassembler::InternalInstruction::sibIndex

Definition at line 786 of file X86DisassemblerDecoder.h.

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

◆ sibIndexBase

SIBIndex llvm::X86Disassembler::InternalInstruction::sibIndexBase

Definition at line 785 of file X86DisassemblerDecoder.h.

Referenced by readOperands(), and readSIB().

◆ sibScale

uint8_t llvm::X86Disassembler::InternalInstruction::sibScale

Definition at line 787 of file X86DisassemblerDecoder.h.

Referenced by readSIB(), and translateRMMemory().

◆ spec

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

Definition at line 738 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 746 of file X86DisassemblerDecoder.h.

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

◆ writemask

Reg llvm::X86Disassembler::InternalInstruction::writemask

Definition at line 749 of file X86DisassemblerDecoder.h.

Referenced by readMaskRegister(), and translateOperand().

◆ xAcquireRelease

bool llvm::X86Disassembler::InternalInstruction::xAcquireRelease

Definition at line 704 of file X86DisassemblerDecoder.h.

Referenced by readPrefixes(), and translateInstruction().


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