llvm.org GIT mirror llvm / c815f15
[X86][SSE] Minor regression fix for r225551 r225551 vector byte shuffle optimization caused an assertion as fully zeroable vectors can be produced under certain circumstances. This fix drops the assert and returns a zero vector where the assert would have failed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225718 91177308-0d34-0410-b5e6-96231b3b80d8 Simon Pilgrim 5 years ago
1 changed file(s) with 2 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
96519651 V2InUse |= (ZeroMask != V2Idx);
96529652 }
96539653 }
9654 assert((V1InUse || V2InUse) && "Shuffling to a zeroable vector");
96559654
96569655 if (V1InUse)
96579656 V1 = DAG.getNode(X86ISD::PSHUFB, DL, MVT::v16i8, V1,
96679666 return V1; // Single inputs are easy.
96689667 if (V2InUse)
96699668 return V2; // Single inputs are easy.
9669 // Shuffling to a zeroable vector.
9670 return getZeroVector(MVT::v16i8, Subtarget, DAG, DL);
96709671 }
96719672
96729673 // There are special ways we can lower some single-element blends.