Fix an mmx movd encoding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104552 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2010-05-24 20:51:08 +00:00
parent ca956dc0f6
commit e350690e3b
2 changed files with 36 additions and 4 deletions

View File

@ -130,10 +130,10 @@ let neverHasSideEffects = 1 in
def MMX_MOVD64from64rr : MMXRI<0x7E, MRMDestReg,
(outs GR64:$dst), (ins VR64:$src),
"movd\t{$src, $dst|$dst, $src}", []>;
def MMX_MOVD64rrv164 : MMXI<0x6E, MRMSrcReg, (outs VR64:$dst), (ins GR64:$src),
"movd\t{$src, $dst|$dst, $src}",
[(set VR64:$dst,
(v1i64 (scalar_to_vector GR64:$src)))]>;
def MMX_MOVD64rrv164 : MMXRI<0x6E, MRMSrcReg, (outs VR64:$dst), (ins GR64:$src),
"movd\t{$src, $dst|$dst, $src}",
[(set VR64:$dst,
(v1i64 (scalar_to_vector GR64:$src)))]>;
let neverHasSideEffects = 1 in
def MMX_MOVQ64rr : MMXI<0x6F, MRMSrcReg, (outs VR64:$dst), (ins VR64:$src),

View File

@ -71,3 +71,35 @@
// CHECK: crc32q 4(%rbx), %rax
// CHECK: encoding: [0xf2,0x48,0x0f,0x38,0xf1,0x43,0x04]
crc32q 4(%rbx), %rax
// CHECK: movd %r8, %mm1
// CHECK: encoding: [0x49,0x0f,0x6e,0xc8]
movd %r8, %mm1
// CHECK: movd %r8d, %mm1
// CHECK: encoding: [0x41,0x0f,0x6e,0xc8]
movd %r8d, %mm1
// CHECK: movd %rdx, %mm1
// CHECK: encoding: [0x48,0x0f,0x6e,0xca]
movd %rdx, %mm1
// CHECK: movd %edx, %mm1
// CHECK: encoding: [0x0f,0x6e,0xca]
movd %edx, %mm1
// CHECK: movd %mm1, %r8
// CHECK: encoding: [0x49,0x0f,0x7e,0xc8]
movd %mm1, %r8
// CHECK: movd %mm1, %r8d
// CHECK: encoding: [0x41,0x0f,0x7e,0xc8]
movd %mm1, %r8d
// CHECK: movd %mm1, %rdx
// CHECK: encoding: [0x48,0x0f,0x7e,0xca]
movd %mm1, %rdx
// CHECK: movd %mm1, %edx
// CHECK: encoding: [0x0f,0x7e,0xca]
movd %mm1, %edx