diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h')
-rw-r--r-- | contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h b/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h index 79f07d3c7792..4db1bfc25177 100644 --- a/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h +++ b/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h @@ -55,13 +55,18 @@ namespace X86 { /// The constants to describe instr prefixes if there are enum IPREFIXES { IP_NO_PREFIX = 0, - IP_HAS_OP_SIZE = 1, - IP_HAS_AD_SIZE = 2, - IP_HAS_REPEAT_NE = 4, - IP_HAS_REPEAT = 8, - IP_HAS_LOCK = 16, - IP_HAS_NOTRACK = 32, - IP_USE_VEX3 = 64, + IP_HAS_OP_SIZE = 1U << 0, + IP_HAS_AD_SIZE = 1U << 1, + IP_HAS_REPEAT_NE = 1U << 2, + IP_HAS_REPEAT = 1U << 3, + IP_HAS_LOCK = 1U << 4, + IP_HAS_NOTRACK = 1U << 5, + IP_USE_VEX = 1U << 6, + IP_USE_VEX2 = 1U << 7, + IP_USE_VEX3 = 1U << 8, + IP_USE_EVEX = 1U << 9, + IP_USE_DISP8 = 1U << 10, + IP_USE_DISP32 = 1U << 11, }; enum OperandType : unsigned { @@ -947,7 +952,11 @@ namespace X86II { // NOTRACK prefix NoTrackShift = EVEX_RCShift + 1, - NOTRACK = 1ULL << NoTrackShift + NOTRACK = 1ULL << NoTrackShift, + + // Force VEX encoding + ExplicitVEXShift = NoTrackShift + 1, + ExplicitVEXPrefix = 1ULL << ExplicitVEXShift }; /// \returns true if the instruction with given opcode is a prefix. |