mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-03-05 17:08:17 +00:00
[X86][AVX] combineInsertSubvector - remove concat_vectors(load(x),load(x)) --> sub_vbroadcast(x)
D58053/rL354340 added this to EltsFromConsecutiveLoads directly llvm-svn: 354732
This commit is contained in:
parent
398d0b9e96
commit
f383a47b7d
@ -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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user