]> granicus.if.org Git - llvm/commitdiff
[X86] Remove (vzext_movl (scalar_to_vector (load))) matching code from selectScalarSS...
authorCraig Topper <craig.topper@intel.com>
Thu, 27 Jun 2019 05:52:00 +0000 (05:52 +0000)
committerCraig Topper <craig.topper@intel.com>
Thu, 27 Jun 2019 05:52:00 +0000 (05:52 +0000)
I think this will be turning into vzext_load during DAG combine.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364499 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelDAGToDAG.cpp

index 544a3fa922dcf640d2da104a74915ed072a80c9d..2a4477be43c1831c94c7822fc60d552c571663a3 100644 (file)
@@ -2321,23 +2321,6 @@ bool X86DAGToDAGISel::selectScalarSSELoad(SDNode *Root, SDNode *Parent,
     }
   }
 
-  // Also handle the case where we explicitly require zeros in the top
-  // elements.  This is a vector shuffle from the zero vector.
-  if (N.getOpcode() == X86ISD::VZEXT_MOVL && N.getNode()->hasOneUse() &&
-      // Check to see if the top elements are all zeros (or bitcast of zeros).
-      N.getOperand(0).getOpcode() == ISD::SCALAR_TO_VECTOR &&
-      N.getOperand(0).getNode()->hasOneUse()) {
-    PatternNodeWithChain = N.getOperand(0).getOperand(0);
-    if (ISD::isNON_EXTLoad(PatternNodeWithChain.getNode()) &&
-        IsProfitableToFold(PatternNodeWithChain, N.getNode(), Root) &&
-        IsLegalToFold(PatternNodeWithChain, N.getNode(), Root, OptLevel)) {
-      // Okay, this is a zero extending load.  Fold it.
-      LoadSDNode *LD = cast<LoadSDNode>(PatternNodeWithChain);
-      return selectAddr(LD, LD->getBasePtr(), Base, Scale, Index, Disp,
-                        Segment);
-    }
-  }
-
   return false;
 }