X86: Fix encoding of 'movd %xmm0, %rax'

The assembly string for the VMOVPQIto64rr instruction incorrectly lacked the 'v'
prefix, resulting in mis-assembly of the vanilla movd instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162963 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jim Grosbach 2012-08-31 00:30:30 +00:00
parent 359956dc1b
commit 9765c6ecde
2 changed files with 5 additions and 1 deletions

View File

@ -4538,7 +4538,7 @@ def MOVPDI2DImr : PDI<0x7E, MRMDestMem, (outs), (ins i32mem:$dst, VR128:$src),
// Move Packed Doubleword Int first element to Doubleword Int // Move Packed Doubleword Int first element to Doubleword Int
// //
def VMOVPQIto64rr : I<0x7E, MRMDestReg, (outs GR64:$dst), (ins VR128:$src), def VMOVPQIto64rr : I<0x7E, MRMDestReg, (outs GR64:$dst), (ins VR128:$src),
"mov{d|q}\t{$src, $dst|$dst, $src}", "vmov{d|q}\t{$src, $dst|$dst, $src}",
[(set GR64:$dst, (vector_extract (v2i64 VR128:$src), [(set GR64:$dst, (vector_extract (v2i64 VR128:$src),
(iPTR 0)))], (iPTR 0)))],
IIC_SSE_MOVD_ToGP>, IIC_SSE_MOVD_ToGP>,

View File

@ -1164,6 +1164,10 @@ xsetbv // CHECK: xsetbv # encoding: [0x0f,0x01,0xd1]
// CHECK: encoding: [0x66,0x48,0x0f,0x6e,0xc7] // CHECK: encoding: [0x66,0x48,0x0f,0x6e,0xc7]
movd %rdi,%xmm0 movd %rdi,%xmm0
// CHECK: movd %xmm0, %rax
// CHECK: encoding: [0x66,0x48,0x0f,0x7e,0xc0]
movd %xmm0, %rax
// CHECK: movntil %eax, (%rdi) // CHECK: movntil %eax, (%rdi)
// CHECK: encoding: [0x0f,0xc3,0x07] // CHECK: encoding: [0x0f,0xc3,0x07]
// CHECK: movntil // CHECK: movntil