summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86CodeEmitter.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2014-02-02 09:25:09 +0000
committerCraig Topper <craig.topper@gmail.com>2014-02-02 09:25:09 +0000
commit6b6dfa5c5a4d17a0425fb391206a6cd806e5ba7d (patch)
treeeb3508cb9c2457397ed1f1428899f3cf9704422f /lib/Target/X86/X86CodeEmitter.cpp
parent3c53b6f1ec476f881a701bda6439b615caf03217 (diff)
downloadllvm-6b6dfa5c5a4d17a0425fb391206a6cd806e5ba7d.tar.gz
llvm-6b6dfa5c5a4d17a0425fb391206a6cd806e5ba7d.tar.bz2
llvm-6b6dfa5c5a4d17a0425fb391206a6cd806e5ba7d.tar.xz
Merge x86 HasOpSizePrefix/HasOpSize16Prefix into a 2-bit OpSize field with 0 meaning no 0x66 prefix in any mode. Rename Opsize16->OpSize32 and OpSize->OpSize16. The classes now refer to their operand size rather than the mode in which they need a 0x66 prefix. Hopefully can merge REX_W into this as OpSize64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200626 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86CodeEmitter.cpp')
-rw-r--r--lib/Target/X86/X86CodeEmitter.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/X86/X86CodeEmitter.cpp b/lib/Target/X86/X86CodeEmitter.cpp
index 8bd8d9df67..579bf9b3e6 100644
--- a/lib/Target/X86/X86CodeEmitter.cpp
+++ b/lib/Target/X86/X86CodeEmitter.cpp
@@ -655,7 +655,7 @@ void Emitter<CodeEmitter>::emitOpcodePrefix(uint64_t TSFlags,
const MachineInstr &MI,
const MCInstrDesc *Desc) const {
// Emit the operand size opcode prefix as needed.
- if (TSFlags & X86II::OpSize)
+ if (((TSFlags & X86II::OpSizeMask) >> X86II::OpSizeShift) == X86II::OpSize16)
MCE.emitByte(0x66);
switch (Desc->TSFlags & X86II::OpPrefixMask) {