From 78a194693bb9bbfa1080454cded0166265b803e5 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 29 Sep 2010 03:43:43 +0000 Subject: [PATCH] make the x86 mccode emitter emit the 0x67 and 0x66 prefix bytes in the same order as cctools for diffability. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115022 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86MCCodeEmitter.cpp | 8 ++++---- test/MC/AsmParser/X86/x86_instructions.s | 5 +++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/Target/X86/X86MCCodeEmitter.cpp b/lib/Target/X86/X86MCCodeEmitter.cpp index c0154514712..e9ce02f1ff7 100644 --- a/lib/Target/X86/X86MCCodeEmitter.cpp +++ b/lib/Target/X86/X86MCCodeEmitter.cpp @@ -720,14 +720,14 @@ void X86MCCodeEmitter::EmitOpcodePrefix(uint64_t TSFlags, unsigned &CurByte, if ((TSFlags & X86II::Op0Mask) == X86II::REP) EmitByte(0xF3, CurByte, OS); - // Emit the operand size opcode prefix as needed. - if (TSFlags & X86II::OpSize) - EmitByte(0x66, CurByte, OS); - // Emit the address size opcode prefix as needed. if ((TSFlags & X86II::AdSize) || (MemOperand != -1 && Is64BitMode && Is32BitMemOperand(MI, MemOperand))) EmitByte(0x67, CurByte, OS); + + // Emit the operand size opcode prefix as needed. + if (TSFlags & X86II::OpSize) + EmitByte(0x66, CurByte, OS); bool Need0FPrefix = false; switch (TSFlags & X86II::Op0Mask) { diff --git a/test/MC/AsmParser/X86/x86_instructions.s b/test/MC/AsmParser/X86/x86_instructions.s index 248cec19382..24f5a27ef6d 100644 --- a/test/MC/AsmParser/X86/x86_instructions.s +++ b/test/MC/AsmParser/X86/x86_instructions.s @@ -449,3 +449,8 @@ leaq 8(%rax), %rsi // CHECK: leaq 8(%rax), %rsi // CHECK: encoding: [0x48,0x8d,0x70,0x08] + +cvttpd2dq 0xdeadbeef(%ebx,%ecx,8),%xmm5 +// CHECK: cvttpd2dq 3735928559(%ebx,%ecx,8), %xmm5 +// CHECK: encoding: [0x67,0x66,0x0f,0xe6,0xac,0xcb,0xef,0xbe,0xad,0xde] +