/// 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