[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