From: Adam Nemet Date: Mon, 14 Jul 2014 23:18:39 +0000 (+0000) Subject: [X86] Specify all TSFlags bit-offsets symbolically X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=3afd71fc7d63086d8489c34c0e6ff29a374d4e45;p=oota-llvm.git [X86] Specify all TSFlags bit-offsets symbolically No functional change. The offsets for the other bitfields are specified symbolically. I need to increase the size for one of the earlier fields which is easier after this cleanup. Why these bits are relative to VEXShift is a bit strange but that is for another cleanup. I made sure that the values for the enums are unchanged after this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213011 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/MCTargetDesc/X86BaseInfo.h b/lib/Target/X86/MCTargetDesc/X86BaseInfo.h index 6aeb1f2c222..11cd08e727e 100644 --- a/lib/Target/X86/MCTargetDesc/X86BaseInfo.h +++ b/lib/Target/X86/MCTargetDesc/X86BaseInfo.h @@ -534,14 +534,17 @@ namespace X86II { /// storing a classifier in the imm8 field. To simplify our implementation, /// we handle this by storeing the classifier in the opcode field and using /// this flag to indicate that the encoder should do the wacky 3DNow! thing. - Has3DNow0F0FOpcode = 1U << 15, + Has3DNow0F0FOpcodeShift = EVEX_CD8VShift + 3, + Has3DNow0F0FOpcode = 1U << (Has3DNow0F0FOpcodeShift - VEXShift), /// MemOp4 - Used to indicate swapping of operand 3 and 4 to be encoded in /// ModRM or I8IMM. This is used for FMA4 and XOP instructions. - MemOp4 = 1U << 16, + MemOp4Shift = Has3DNow0F0FOpcodeShift + 1, + MemOp4 = 1U << (MemOp4Shift - VEXShift), /// Explicitly specified rounding control - EVEX_RC = 1U << 17 + EVEX_RCShift = MemOp4Shift + 1, + EVEX_RC = 1U << (EVEX_RCShift - VEXShift) }; // getBaseOpcodeFor - This function returns the "base" X86 opcode for the