summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h')
-rw-r--r--llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h b/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
index b07fd0b17d3..eeef407366c 100644
--- a/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
+++ b/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
@@ -546,24 +546,26 @@ struct InternalInstruction {
// Prefix state
- // 1 if the prefix byte corresponding to the entry is present; 0 if not
- uint8_t prefixPresent[0x100];
- // contains the location (for use with the reader) of the prefix byte
- uint64_t prefixLocations[0x100];
+ // The possible mandatory prefix
+ uint8_t mandatoryPrefix;
// The value of the vector extension prefix(EVEX/VEX/XOP), if present
uint8_t vectorExtensionPrefix[4];
// The type of the vector extension prefix
VectorExtensionType vectorExtensionType;
// The value of the REX prefix, if present
uint8_t rexPrefix;
- // The location where a mandatory prefix would have to be (i.e., right before
- // the opcode, or right before the REX prefix if one is present).
- uint64_t necessaryPrefixLocation;
// The segment override type
SegmentOverride segmentOverride;
// 1 if the prefix byte, 0xf2 or 0xf3 is xacquire or xrelease
bool xAcquireRelease;
+ // Address-size override
+ bool hasAdSize;
+ // Operand-size override
+ bool hasOpSize;
+ // The repeat prefix if any
+ uint8_t repeatPrefix;
+
// Sizes of various critical pieces of data, in bytes
uint8_t registerSize;
uint8_t addressSize;
OpenPOWER on IntegriCloud