mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-12 15:51:40 +00:00
Move a few things around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26893 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
420132e1eb
commit
ba753c61b7
@ -13,6 +13,15 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
// Some 'special' instructions
|
||||||
|
def IMPLICIT_DEF_VR64 : I<0, Pseudo, (ops VR64:$dst),
|
||||||
|
"#IMPLICIT_DEF $dst",
|
||||||
|
[(set VR64:$dst, (v8i8 (undef)))]>,
|
||||||
|
Requires<[HasMMX]>;
|
||||||
|
|
||||||
|
def : Pat<(v4i16 (undef)), (IMPLICIT_DEF_VR64)>, Requires<[HasMMX]>;
|
||||||
|
def : Pat<(v2i32 (undef)), (IMPLICIT_DEF_VR64)>, Requires<[HasMMX]>;
|
||||||
|
|
||||||
// Move Instructions
|
// Move Instructions
|
||||||
def MOVD64rr : I<0x6E, MRMSrcReg, (ops VR64:$dst, R32:$src),
|
def MOVD64rr : I<0x6E, MRMSrcReg, (ops VR64:$dst, R32:$src),
|
||||||
"movd {$src, $dst|$dst, $src}", []>, TB,
|
"movd {$src, $dst|$dst, $src}", []>, TB,
|
||||||
@ -33,3 +42,4 @@ def MOVQ64rm : I<0x6F, MRMSrcMem, (ops VR64:$dst, i64mem:$src),
|
|||||||
def MOVQ64mr : I<0x7F, MRMDestMem, (ops i64mem:$dst, VR64:$src),
|
def MOVQ64mr : I<0x7F, MRMDestMem, (ops i64mem:$dst, VR64:$src),
|
||||||
"movq {$src, $dst|$dst, $src}", []>, TB,
|
"movq {$src, $dst|$dst, $src}", []>, TB,
|
||||||
Requires<[HasMMX]>;
|
Requires<[HasMMX]>;
|
||||||
|
|
||||||
|
@ -348,6 +348,10 @@ def IMPLICIT_DEF_VR128 : I<0, Pseudo, (ops VR128:$dst),
|
|||||||
Requires<[HasSSE1]>;
|
Requires<[HasSSE1]>;
|
||||||
|
|
||||||
def : Pat<(v2f64 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
|
def : Pat<(v2f64 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
|
||||||
|
def : Pat<(v16i8 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
|
||||||
|
def : Pat<(v8i16 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
|
||||||
|
def : Pat<(v4i32 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
|
||||||
|
def : Pat<(v2i64 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
|
||||||
|
|
||||||
// Move Instructions
|
// Move Instructions
|
||||||
def MOVAPSrr : PSI<0x28, MRMSrcReg, (ops VR128:$dst, VR128:$src),
|
def MOVAPSrr : PSI<0x28, MRMSrcReg, (ops VR128:$dst, VR128:$src),
|
||||||
@ -694,19 +698,6 @@ def UNPCKLPDrm : PDI<0x14, MRMSrcMem,
|
|||||||
// SSE integer instructions
|
// SSE integer instructions
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// Some 'special' instructions
|
|
||||||
def IMPLICIT_DEF_VR64 : I<0, Pseudo, (ops VR64:$dst),
|
|
||||||
"#IMPLICIT_DEF $dst",
|
|
||||||
[(set VR64:$dst, (v8i8 (undef)))]>,
|
|
||||||
Requires<[HasMMX]>;
|
|
||||||
|
|
||||||
def : Pat<(v4i16 (undef)), (IMPLICIT_DEF_VR64)>, Requires<[HasMMX]>;
|
|
||||||
def : Pat<(v2i32 (undef)), (IMPLICIT_DEF_VR64)>, Requires<[HasMMX]>;
|
|
||||||
def : Pat<(v16i8 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
|
|
||||||
def : Pat<(v8i16 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
|
|
||||||
def : Pat<(v4i32 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
|
|
||||||
def : Pat<(v2i64 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
|
|
||||||
|
|
||||||
// Move Instructions
|
// Move Instructions
|
||||||
def MOVD128rr : PDI<0x6E, MRMSrcReg, (ops VR128:$dst, R32:$src),
|
def MOVD128rr : PDI<0x6E, MRMSrcReg, (ops VR128:$dst, R32:$src),
|
||||||
"movd {$src, $dst|$dst, $src}", []>;
|
"movd {$src, $dst|$dst, $src}", []>;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user