[llvm] r354732 - [X86][AVX] combineInsertSubvector - remove concat_vectors(load(x), load(x)) --> sub_vbroadcast(x)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sat Feb 23 10:53:03 PST 2019
Author: rksimon
Date: Sat Feb 23 10:53:03 2019
New Revision: 354732
URL: http://llvm.org/viewvc/llvm-project?rev=354732&view=rev
Log:
[X86][AVX] combineInsertSubvector - remove concat_vectors(load(x),load(x)) --> sub_vbroadcast(x)
D58053/rL354340 added this to EltsFromConsecutiveLoads directly
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=354732&r1=354731&r2=354732&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Sat Feb 23 10:53:03 2019
@@ -41949,11 +41949,6 @@ static SDValue combineInsertSubvector(SD
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.
More information about the llvm-commits
mailing list