diff options
author | Craig Topper <craig.topper@gmail.com> | 2011-10-16 16:50:08 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2011-10-16 16:50:08 +0000 |
commit | ee62e4f6d192ee31d1ad9dd0ba0c41db6663d3c7 (patch) | |
tree | 39b3ad43df8c65da0e6a15beddacefe5dae31560 /lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp | |
parent | 962bad70f4277841cf6278306caa93ebce304b48 (diff) | |
download | llvm-ee62e4f6d192ee31d1ad9dd0ba0c41db6663d3c7.tar.gz llvm-ee62e4f6d192ee31d1ad9dd0ba0c41db6663d3c7.tar.bz2 llvm-ee62e4f6d192ee31d1ad9dd0ba0c41db6663d3c7.tar.xz |
Add X86 PEXTR and PDEP instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142141 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp')
-rw-r--r-- | lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp b/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp index 91f672b1e4..8ae7a3c42a 100644 --- a/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp +++ b/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp @@ -464,7 +464,11 @@ void X86MCCodeEmitter::EmitVEXOpcodePrefix(uint64_t TSFlags, unsigned &CurByte, case X86II::TA: // 0F 3A VEX_5M = 0x3; break; - case X86II::TF: // F2 0F 38 + case X86II::T8XS: // F3 0F 38 + VEX_PP = 0x2; + VEX_5M = 0x2; + break; + case X86II::T8XD: // F2 0F 38 VEX_PP = 0x3; VEX_5M = 0x2; break; @@ -790,7 +794,11 @@ void X86MCCodeEmitter::EmitOpcodePrefix(uint64_t TSFlags, unsigned &CurByte, case X86II::A7: // 0F A7 Need0FPrefix = true; break; - case X86II::TF: // F2 0F 38 + case X86II::T8XS: // F3 0F 38 + EmitByte(0xF3, CurByte, OS); + Need0FPrefix = true; + break; + case X86II::T8XD: // F2 0F 38 EmitByte(0xF2, CurByte, OS); Need0FPrefix = true; break; @@ -825,7 +833,8 @@ void X86MCCodeEmitter::EmitOpcodePrefix(uint64_t TSFlags, unsigned &CurByte, // FIXME: Pull this up into previous switch if REX can be moved earlier. switch (TSFlags & X86II::Op0Mask) { - case X86II::TF: // F2 0F 38 + case X86II::T8XS: // F3 0F 38 + case X86II::T8XD: // F2 0F 38 case X86II::T8: // 0F 38 EmitByte(0x38, CurByte, OS); break; |