Fixed the encoding of two of the X86 movq instuctions. The Move quadword from

mm to mm/m64 and the Move quadword from xmm2/mem64 to xmm1 had the incorrect
encodings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102952 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Kevin Enderby 2010-05-03 21:03:31 +00:00
parent 3c979b06c0
commit eb612347f4
3 changed files with 19 additions and 2 deletions

View File

@ -2284,7 +2284,7 @@ def MOVPQIto64rr : RPDI<0x7E, MRMDestReg, (outs GR64:$dst), (ins VR128:$src),
def MOV64toSDrr : RPDI<0x6E, MRMSrcReg, (outs FR64:$dst), (ins GR64:$src),
"mov{d|q}\t{$src, $dst|$dst, $src}",
[(set FR64:$dst, (bitconvert GR64:$src))]>;
def MOV64toSDrm : RPDI<0x6E, MRMSrcMem, (outs FR64:$dst), (ins i64mem:$src),
def MOV64toSDrm : S3SI<0x6E, MRMSrcMem, (outs FR64:$dst), (ins i64mem:$src),
"movq\t{$src, $dst|$dst, $src}",
[(set FR64:$dst, (bitconvert (loadi64 addr:$src)))]>;

View File

@ -117,7 +117,7 @@ def MMX_MOVD64mr : MMXI<0x7E, MRMDestMem, (outs), (ins i32mem:$dst, VR64:$src),
"movd\t{$src, $dst|$dst, $src}", []>;
def MMX_MOVD64grr : MMXI<0x7E, MRMDestReg, (outs), (ins GR32:$dst, VR64:$src),
"movd\t{$src, $dst|$dst, $src}", []>;
def MMX_MOVQ64gmr : MMXRI<0x7E, MRMDestMem, (outs),
def MMX_MOVQ64gmr : MMXRI<0x7F, MRMDestMem, (outs),
(ins i64mem:$dst, VR64:$src),
"movq\t{$src, $dst|$dst, $src}", []>;

View File

@ -9997,3 +9997,20 @@ pshufb CPI1_0(%rip), %xmm1
// CHECK: pushl $254
// CHECK: encoding: [0x68,0xfe,0x00,0x00,0x00]
pushl $254
// radr://7928400
// CHECK: movq %mm3, 3735928559(%ebx,%ecx,8)
// CHECK: encoding: [0x0f,0x7f,0x9c,0xcb,0xef,0xbe,0xad,0xde]
movq %mm3, 3735928559(%ebx,%ecx,8)
// CHECK: movd %mm3, 3735928559(%ebx,%ecx,8)
// CHECK: encoding: [0x0f,0x7e,0x9c,0xcb,0xef,0xbe,0xad,0xde]
movd %mm3, 3735928559(%ebx,%ecx,8)
// CHECK: movq 3735928559(%ebx,%ecx,8), %xmm5
// CHECK: encoding: [0xf3,0x0f,0x7e,0xac,0xcb,0xef,0xbe,0xad,0xde]
movq 3735928559(%ebx,%ecx,8), %xmm5
// CHECK: movd 3735928559(%ebx,%ecx,8), %xmm5
// CHECK: encoding: [0x66,0x0f,0x6e,0xac,0xcb,0xef,0xbe,0xad,0xde]
movd 3735928559(%ebx,%ecx,8), %xmm5