[llvm-commits] [llvm] r139069 - /llvm/trunk/lib/Target/X86/X86InstrSSE.td

Bruno Cardoso Lopes bruno.cardoso at gmail.com
Fri Sep 2 17:46:58 PDT 2011


Author: bruno
Date: Fri Sep  2 19:46:58 2011
New Revision: 139069

URL: http://llvm.org/viewvc/llvm-project?rev=139069&view=rev
Log:
Add one more AVX pattern for MOVZPQILo2PQI

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=139069&r1=139068&r2=139069&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrSSE.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrSSE.td Fri Sep  2 19:46:58 2011
@@ -4294,12 +4294,18 @@
 }
 
 let AddedComplexity = 20 in {
-  let Predicates = [HasSSE2] in
+  let Predicates = [HasSSE2] in {
     def : Pat<(v2i64 (X86vzmovl (bc_v2i64 (loadv4i32 addr:$src)))),
               (MOVZPQILo2PQIrm addr:$src)>;
-  let Predicates = [HasAVX] in
+    def : Pat<(v2f64 (X86vzmovl (v2f64 VR128:$src))),
+              (MOVZPQILo2PQIrr VR128:$src)>;
+  }
+  let Predicates = [HasAVX] in {
     def : Pat<(v2i64 (X86vzmovl (bc_v2i64 (loadv4i32 addr:$src)))),
               (SUBREG_TO_REG (i64 0), (VMOVZPQILo2PQIrm addr:$src), sub_xmm)>;
+    def : Pat<(v2f64 (X86vzmovl (v2f64 VR128:$src))),
+              (SUBREG_TO_REG (i64 0), (MOVZPQILo2PQIrr VR128:$src), sub_xmm)>;
+  }
 }
 
 // Instructions to match in the assembler
@@ -4889,10 +4895,6 @@
 def : InstAlias<"monitor %rax, %rcx, %rdx", (MONITORrrr)>,
       Requires<[In64BitMode]>;
 
-// Set lowest element and zero upper elements.
-def : Pat<(v2f64 (X86vzmovl (v2f64 VR128:$src))),
-          (MOVZPQILo2PQIrr VR128:$src)>, Requires<[HasSSE2]>;
-
 //===----------------------------------------------------------------------===//
 // SSE4.1 - Packed Move with Sign/Zero Extend
 //===----------------------------------------------------------------------===//





More information about the llvm-commits mailing list