[X86][AVX] combineInsertSubvector - remove concat_vectors(load(x),load(x)) --> sub_vb...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 23 Feb 2019 18:53:03 +0000 (18:53 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 23 Feb 2019 18:53:03 +0000 (18:53 +0000)
D58053/rL354340 added this to EltsFromConsecutiveLoads directly

llvm-svn: 354732

llvm/lib/Target/X86/X86ISelLowering.cpp

index 1db9f12..c5824b3 100644 (file)
@@ -41949,11 +41949,6 @@ static SDValue combineInsertSubvector(SDNode *N, SelectionDAG &DAG,
             return Ld;
         }
       }
-      // If lower/upper loads are the same and there's no other use of the lower
-      // load, then splat the loaded value with a broadcast.
-      if (auto *Ld = dyn_cast<LoadSDNode>(peekThroughOneUseBitcasts(SubVec2)))
-        if (SubVec2 == SubVec && ISD::isNormalLoad(Ld) && Vec.hasOneUse())
-          return DAG.getNode(X86ISD::SUBV_BROADCAST, dl, OpVT, SubVec);
 
       // If this broadcast/subv_broadcast is inserted into both halves, use a
       // larger broadcast/subv_broadcast.