Register type.
Provides a unique type that can be used to identify a register or its view.
Constant | Description |
---|
kNone | No register - unused, invalid, multiple meanings.
|
kLabelTag | This is not a register type. This value is reserved for a Label that's used in BaseMem as a base.
Label tag is used as a sub-type, forming a unique signature across all operand types as 0x1 is never associated with any register type. This means that a memory operand's BASE register can be constructed from virtually any operand (register vs. label) by just assigning its type (register type or label-tag) and operand id.
|
kGp8Lo | 8-bit low general purpose register (X86|X86_64).
|
kGp8Hi | 8-bit high general purpose register (X86|X86_64).
|
kGp16 | 16-bit general purpose register (X86|X86_64).
|
kGp32 | 32-bit general purpose register (X86|X86_64|AArch32|AArch64).
|
kGp64 | 64-bit general purpose register (X86_64|AArch64).
|
kVec8 | 8-bit view of a vector register (AArch64).
|
kVec16 | 16-bit view of a vector register (AArch64).
|
kVec32 | 32-bit view of a vector register (AArch32|AArch64).
|
kVec64 | 64-bit view of a vector register (AArch32|AArch64).
NoteThis is never used for MMX registers on X86, MMX registers have its own category.
|
kVec128 | 128-bit view of a vector register (X86|X86_64|AArch32|AArch64).
|
kVec256 | 256-bit view of a vector register (X86|X86_64).
|
kVec512 | 512-bit view of a vector register (X86|X86_64).
|
kVec1024 | 1024-bit view of a vector register (future).
|
kVecNLen | View of a vector register, which width is implementation specific (AArch64).
|
kMask | Mask register (X86|X86_64|AArch64).
|
kTile | Tile register (X86_64: TMM ).
|
kSegment | Segment register (X86|X86_64: None, ES, CS, SS, DS, FS, GS).
|
kControl | Control register (X86|X86_64: CR ).
|
kDebug | Debug register (X86|X86_64: DR ).
|
kX86_Mm | MMX register (X86|X86_64: MM ).
|
kX86_St | FPU (x87) register (X86|X86_64: ST ).
|
kX86_Bnd | Bound register (X86|X86_64: BND ).
|
kPC | Universal type describing program counter (PC) or instruction pointer (EIP/RIP) register, if the target architecture actually exposes it as a separate register type, which most modern architectures do.
X86 Specific
Instruction pointer (RIP), only addressable in x86::Mem in 64-bit targets.
|
kMaxValue | Maximum value of RegType .
|