[llvm-commits] [llvm] r136048 - /llvm/trunk/lib/Target/X86/X86InstrSSE.td
Bruno Cardoso Lopes
bruno.cardoso at gmail.com
Mon Jul 25 19:39:23 PDT 2011
Author: bruno
Date: Mon Jul 25 21:39:23 2011
New Revision: 136048
URL: http://llvm.org/viewvc/llvm-project?rev=136048&view=rev
Log:
Add 128-bit AVX versions of movshdup/mosldup
Modified:
llvm/trunk/lib/Target/X86/X86InstrSSE.td
Modified: llvm/trunk/lib/Target/X86/X86InstrSSE.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrSSE.td?rev=136048&r1=136047&r2=136048&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrSSE.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrSSE.td Mon Jul 25 21:39:23 2011
@@ -3260,6 +3260,17 @@
(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
//
More information about the llvm-commits
mailing list