LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::X86II Namespace Reference


Enumerations

enum  {
  Pseudo = 0, RawFrm = 1, AddRegFrm = 2, MRMDestReg = 3,
  MRMDestMem = 4, MRMSrcReg = 5, MRMSrcMem = 6, MRM0r = 16,
  MRM1r = 17, MRM2r = 18, MRM3r = 19, MRM4r = 20,
  MRM5r = 21, MRM6r = 22, MRM7r = 23, MRM0m = 24,
  MRM1m = 25, MRM2m = 26, MRM3m = 27, MRM4m = 28,
  MRM5m = 29, MRM6m = 30, MRM7m = 31, FormMask = 31,
  OpSize = 1 << 5, Op0Shift = 6, Op0Mask = 0xF << Op0Shift, TB = 1 << Op0Shift,
  REP = 2 << Op0Shift, D8 = 3 << Op0Shift, D9 = 4 << Op0Shift, DA = 5 << Op0Shift,
  DB = 6 << Op0Shift, DC = 7 << Op0Shift, DD = 8 << Op0Shift, DE = 9 << Op0Shift,
  DF = 10 << Op0Shift, ImmShift = 10, ImmMask = 7 << ImmShift, Imm8 = 1 << ImmShift,
  Imm16 = 2 << ImmShift, Imm32 = 3 << ImmShift, FPTypeShift = 12, FPTypeMask = 7 << FPTypeShift,
  NotFP = 0 << FPTypeShift, ZeroArgFP = 1 << FPTypeShift, OneArgFP = 2 << FPTypeShift, OneArgFPRW = 3 << FPTypeShift,
  TwoArgFP = 4 << FPTypeShift, CompareFP = 5 << FPTypeShift, CondMovFP = 6 << FPTypeShift, SpecialFP = 7 << FPTypeShift,
  OpcodeShift = 16, OpcodeMask = 0xFF << OpcodeShift
}


Detailed Description

X86II - This namespace holds all of the target specific flags that instruction info tracks.


Enumeration Type Documentation

anonymous enum
 

Enumerator:
Pseudo 
RawFrm  Raw - This form is for instructions that don't have any operands, so they are just a fixed opcode value, like 'leave'.
AddRegFrm  AddRegFrm - This form is used for instructions like 'push r32' that have their one register operand added to their opcode.
MRMDestReg  MRMDestReg - This form is used for instructions that use the Mod/RM byte to specify a destination, which in this case is a register.
MRMDestMem  MRMDestMem - This form is used for instructions that use the Mod/RM byte to specify a destination, which in this case is memory.
MRMSrcReg  MRMSrcReg - This form is used for instructions that use the Mod/RM byte to specify a source, which in this case is a register.
MRMSrcMem  MRMSrcMem - This form is used for instructions that use the Mod/RM byte to specify a source, which in this case is memory.
MRM0r  MRM[0-7][rm] - These forms are used to represent instructions that use a Mod/RM byte, and use the middle field to hold extended opcode information. In the intel manual these are represented as /0, /1, ...
MRM1r 
MRM2r 
MRM3r 
MRM4r 
MRM5r 
MRM6r 
MRM7r 
MRM0m 
MRM1m 
MRM2m 
MRM3m 
MRM4m 
MRM5m 
MRM6m 
MRM7m 
FormMask 
OpSize 
Op0Shift 
Op0Mask 
TB 
REP 
D8 
D9 
DA 
DB 
DC 
DD 
DE 
DF 
ImmShift 
ImmMask 
Imm8 
Imm16 
Imm32 
FPTypeShift 
FPTypeMask 
NotFP 
ZeroArgFP 
OneArgFP 
OneArgFPRW 
TwoArgFP 
CompareFP 
CondMovFP 
SpecialFP 
OpcodeShift 
OpcodeMask 

Definition at line 26 of file X86InstrInfo.h.