diff options
author | Craig Topper <craig.topper@gmail.com> | 2013-08-21 05:57:45 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2013-08-21 05:57:45 +0000 |
commit | 5bdf397e25bf0e5a6473f44d49a04e8ff184c442 (patch) | |
tree | 7bfeb291cde0483a9053d5ded942288f3e7a0070 /lib/Target/X86/MCTargetDesc | |
parent | ec7b5e9290bc0e1b266525a4757773e9ab87847e (diff) | |
download | external_llvm-5bdf397e25bf0e5a6473f44d49a04e8ff184c442.zip external_llvm-5bdf397e25bf0e5a6473f44d49a04e8ff184c442.tar.gz external_llvm-5bdf397e25bf0e5a6473f44d49a04e8ff184c442.tar.bz2 |
Synchronize VEX JIT encoding code with the MCJIT version. Fix a bug in the MCJIT code where CurOp was being incremented even if the operand it was pointing at wasn't used. Maybe only matters if there are any EVEX_K instructions that aren't VEX_4V.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188868 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/MCTargetDesc')
-rw-r--r-- | lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp b/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp index 8515879..7173d51 100644 --- a/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp +++ b/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp @@ -786,8 +786,8 @@ void X86MCCodeEmitter::EmitVEXOpcodePrefix(uint64_t TSFlags, unsigned &CurByte, VEX_4V = getVEXRegisterEncoding(MI, CurOp); if (HasEVEX && X86II::is32ExtendedReg(MI.getOperand(CurOp).getReg())) EVEX_V2 = 0x0; + CurOp++; } - CurOp++; if (HasEVEX_K) EVEX_aaa = getWriteMaskRegisterEncoding(MI, CurOp++); |