[llvm-commits] [llvm] r112760 - /llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Bruno Cardoso Lopes bruno.cardoso at gmail.com
Wed Sep 1 15:59:03 PDT 2010


Author: bruno
Date: Wed Sep  1 17:59:03 2010
New Revision: 112760

URL: http://llvm.org/viewvc/llvm-project?rev=112760&view=rev
Log:
Revert r112689, avoid those kind of checks cause they mess up with mmx

Modified:
    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=112760&r1=112759&r2=112760&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Wed Sep  1 17:59:03 2010
@@ -5194,10 +5194,10 @@
 
     unsigned TargetMask = X86::getShuffleSHUFImmediate(SVOp);
 
-    if (HasSSE2 && NumElems == 4)
+    if (HasSSE2 && (VT == MVT::v4f32 || VT == MVT::v4i32))
       return getTargetShuffleNode(X86ISD::PSHUFD, dl, VT, V1, TargetMask, DAG);
 
-    if (HasSSE2 && NumElems == 2)
+    if (HasSSE2 && (VT == MVT::v2i64 || VT == MVT::v2f64))
       return getTargetShuffleNode(X86ISD::SHUFPD, dl, VT, V1, V1,
                                   TargetMask, DAG);
 
@@ -5226,10 +5226,10 @@
     if (ISD::isBuildVectorAllZeros(V1.getNode()))
       return getVZextMovL(VT, VT, V2, DAG, Subtarget, dl);
     if (!isMMX && !X86::isMOVLPMask(SVOp)) {
-      if (HasSSE2 && NumElems == 2)
+      if (HasSSE2 && (VT == MVT::v2i64 || VT == MVT::v2f64))
         return getTargetShuffleNode(X86ISD::MOVSD, dl, VT, V1, V2, DAG);
 
-      if (NumElems == 4)
+      if (VT == MVT::v4i32 || VT == MVT::v4f32)
         return getTargetShuffleNode(X86ISD::MOVSS, dl, VT, V1, V2, DAG);
     }
   }





More information about the llvm-commits mailing list