Skip to content

Commit f592c90

Browse files
committed
limit to half sized subvector insertions
1 parent e506452 commit f592c90

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

llvm/lib/Target/X86/X86ISelLowering.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59296,7 +59296,8 @@ static SDValue combineINSERT_SUBVECTOR(SDNode *N, SelectionDAG &DAG,
5929659296
std::iota(BlendMask.begin(), BlendMask.end(), 0);
5929759297
std::iota(BlendMask.begin() + IdxVal,
5929859298
BlendMask.begin() + IdxVal + SubVecNumElts, VecNumElts + IdxVal);
59299-
if (isShuffleEquivalent(Mask, BlendMask, Vec, ExtSrc)) {
59299+
if (isShuffleEquivalent(Mask, BlendMask, Vec, ExtSrc) &&
59300+
VecNumElts == (2 * SubVecNumElts)) {
5930059301
assert((IdxVal == 0 || IdxVal == SubVecNumElts) &&
5930159302
"Unaligned subvector insertion");
5930259303
if (OpVT.is256BitVector() && SubVecVT.is128BitVector()) {

0 commit comments

Comments
 (0)