Skip to content

Commit 77dd140

Browse files
committed
[X86] Early out of combineInsertSubvector for mask vectors.
The combines here shouldn't be done for mask vectors, but it wasn't clear anything was preventing that. llvm-svn: 310786
1 parent dbca6d4 commit 77dd140

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

llvm/lib/Target/X86/X86ISelLowering.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35504,13 +35504,18 @@ static SDValue combineInsertSubvector(SDNode *N, SelectionDAG &DAG,
3550435504
if (DCI.isBeforeLegalizeOps())
3550535505
return SDValue();
3550635506

35507+
MVT OpVT = N->getSimpleValueType(0);
35508+
35509+
// Early out for mask vectors.
35510+
if (OpVT.getVectorElementType() == MVT::i1)
35511+
return SDValue();
35512+
3550735513
SDLoc dl(N);
3550835514
SDValue Vec = N->getOperand(0);
3550935515
SDValue SubVec = N->getOperand(1);
3551035516
SDValue Idx = N->getOperand(2);
3551135517

3551235518
unsigned IdxVal = cast<ConstantSDNode>(Idx)->getZExtValue();
35513-
MVT OpVT = N->getSimpleValueType(0);
3551435519
MVT SubVecVT = SubVec.getSimpleValueType();
3551535520

3551635521
// If this is an insert of an extract, combine to a shuffle. Don't do this

0 commit comments

Comments
 (0)