forked from OSchip/llvm-project
Some AT&T syntax assembler (e.g. Mac OS X) does not recognize the movq alias for i64 <-> XMM moves.
llvm-svn: 32609
This commit is contained in:
parent
5dd391b4bb
commit
2f4cdc78fa
|
@ -1110,33 +1110,33 @@ def : Pat<(store (or (shl (loadi64 addr:$dst), CL:$amt),
|
|||
// Move instructions...
|
||||
|
||||
def MOV64toPQIrr : RPDI<0x6E, MRMSrcReg, (ops VR128:$dst, GR64:$src),
|
||||
"movq {$src, $dst|$dst, $src}",
|
||||
"mov{d|q} {$src, $dst|$dst, $src}",
|
||||
[(set VR128:$dst,
|
||||
(v2i64 (scalar_to_vector GR64:$src)))]>;
|
||||
def MOV64toPQIrm : RPDI<0x6E, MRMSrcMem, (ops VR128:$dst, i64mem:$src),
|
||||
"movq {$src, $dst|$dst, $src}",
|
||||
"mov{d|q} {$src, $dst|$dst, $src}",
|
||||
[(set VR128:$dst,
|
||||
(v2i64 (scalar_to_vector (loadi64 addr:$src))))]>;
|
||||
|
||||
def MOVPQIto64rr : RPDI<0x7E, MRMDestReg, (ops GR64:$dst, VR128:$src),
|
||||
"movq {$src, $dst|$dst, $src}",
|
||||
"mov{d|q} {$src, $dst|$dst, $src}",
|
||||
[(set GR64:$dst, (vector_extract (v2i64 VR128:$src),
|
||||
(iPTR 0)))]>;
|
||||
def MOVPQIto64mr : RPDI<0x7E, MRMDestMem, (ops i64mem:$dst, VR128:$src),
|
||||
"movq {$src, $dst|$dst, $src}",
|
||||
"mov{d|q} {$src, $dst|$dst, $src}",
|
||||
[(store (i64 (vector_extract (v2i64 VR128:$src),
|
||||
(iPTR 0))), addr:$dst)]>;
|
||||
|
||||
def MOV64toSDrr : RPDI<0x6E, MRMSrcReg, (ops FR64:$dst, GR64:$src),
|
||||
"movq {$src, $dst|$dst, $src}",
|
||||
"mov{d|q} {$src, $dst|$dst, $src}",
|
||||
[(set FR64:$dst, (bitconvert GR64:$src))]>;
|
||||
def MOV64toSDrm : RPDI<0x6E, MRMSrcMem, (ops FR64:$dst, i64mem:$src),
|
||||
"movq {$src, $dst|$dst, $src}",
|
||||
"mov{d|q} {$src, $dst|$dst, $src}",
|
||||
[(set FR64:$dst, (bitconvert (loadi64 addr:$src)))]>;
|
||||
|
||||
def MOVSDto64rr : RPDI<0x7E, MRMDestReg, (ops GR64:$dst, FR64:$src),
|
||||
"movq {$src, $dst|$dst, $src}",
|
||||
"mov{d|q} {$src, $dst|$dst, $src}",
|
||||
[(set GR64:$dst, (bitconvert FR64:$src))]>;
|
||||
def MOVSDto64mr : RPDI<0x7E, MRMDestMem, (ops i64mem:$dst, FR64:$src),
|
||||
"movq {$src, $dst|$dst, $src}",
|
||||
"mov{d|q} {$src, $dst|$dst, $src}",
|
||||
[(store (i64 (bitconvert FR64:$src)), addr:$dst)]>;
|
||||
|
|
Loading…
Reference in New Issue