minor change, simplify some logic
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Wed, 1 Sep 2010 00:57:08 +0000 (00:57 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Wed, 1 Sep 2010 00:57:08 +0000 (00:57 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112689 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index d29090b23b55070f008920e0cd8184bca1f6cae6..3a861c041d1904275ad4a154f3426a383935db49 100644 (file)
@@ -5127,10 +5127,10 @@ X86TargetLowering::LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const {
 
     unsigned TargetMask = X86::getShuffleSHUFImmediate(SVOp);
 
-    if (HasSSE2 && (VT == MVT::v4f32 || VT == MVT::v4i32))
+    if (HasSSE2 && NumElems == 4)
       return getTargetShuffleNode(X86ISD::PSHUFD, dl, VT, V1, TargetMask, DAG);
 
-    if (HasSSE2 && (VT == MVT::v2i64 || VT == MVT::v2f64))
+    if (HasSSE2 && NumElems == 2)
       return getTargetShuffleNode(X86ISD::SHUFPD, dl, VT, V1, V1,
                                   TargetMask, DAG);
 
@@ -5159,10 +5159,10 @@ X86TargetLowering::LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const {
     if (ISD::isBuildVectorAllZeros(V1.getNode()))
       return getVZextMovL(VT, VT, V2, DAG, Subtarget, dl);
     if (!isMMX && !X86::isMOVLPMask(SVOp)) {
-      if (HasSSE2 && (VT == MVT::v2i64 || VT == MVT::v2f64))
+      if (HasSSE2 && NumElems == 2)
         return getTargetShuffleNode(X86ISD::MOVSD, dl, VT, V1, V2, DAG);
 
-      if (VT == MVT::v4i32 || VT == MVT::v4f32)
+      if (NumElems == 4)
         return getTargetShuffleNode(X86ISD::MOVSS, dl, VT, V1, V2, DAG);
     }
   }