From: Bruno Cardoso Lopes Date: Tue, 26 Jul 2011 02:39:23 +0000 (+0000) Subject: Add 128-bit AVX versions of movshdup/mosldup X-Git-Tag: android-x86-6.0-r1~928^2~2934 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=cc1c3526a74a1d914753163f8e6e243a254bbec5;p=android-x86%2Fexternal-llvm.git 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 --- diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index 95e80b94b4f..6e46b3f56d3 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -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 //