Add 128-bit AVX versions of movshdup/mosldup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136048 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bruno Cardoso Lopes 2011-07-26 02:39:23 +00:00
parent 3e9235c720
commit cc1c3526a7

View File

@ -3260,6 +3260,17 @@ let Predicates = [HasSSE3] in {
(MOVSLDUPrm addr:$src)>;
}
let Predicates = [HasAVX] in {
def : Pat<(v4i32 (X86Movshdup VR128:$src)),
(VMOVSHDUPrr VR128:$src)>;
def : Pat<(v4i32 (X86Movshdup (bc_v4i32 (memopv2i64 addr:$src)))),
(VMOVSHDUPrm addr:$src)>;
def : Pat<(v4i32 (X86Movsldup VR128:$src)),
(VMOVSLDUPrr VR128:$src)>;
def : Pat<(v4i32 (X86Movsldup (bc_v4i32 (memopv2i64 addr:$src)))),
(VMOVSLDUPrm addr:$src)>;
}
//===---------------------------------------------------------------------===//
// Replicate Double FP - MOVDDUP
//