Skip to content

Commit 3ec693d

Browse files
authored
[X86] combineConcatVectorOps - use ConcatSubOperand for X86ISD::VPERMV operand concatenation (llvm#131352)
More aggressively concatenate operands
1 parent e6382f2 commit 3ec693d

File tree

5 files changed

+1829
-1839
lines changed

5 files changed

+1829
-1839
lines changed

llvm/lib/Target/X86/X86ISelLowering.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58155,12 +58155,10 @@ static SDValue combineConcatVectorOps(const SDLoc &DL, MVT VT,
5815558155
ConcatMask.push_back(M);
5815658156
}
5815758157
}
58158-
if (ConcatMask.size() == (NumOps * NumSrcElts)) {
58159-
SDValue Src = concatSubVectors(Ops[0].getOperand(1),
58160-
Ops[1].getOperand(1), DAG, DL);
58161-
return lowerShuffleWithPERMV(DL, VT, ConcatMask, Src,
58158+
if (ConcatMask.size() == (NumOps * NumSrcElts))
58159+
return lowerShuffleWithPERMV(DL, VT, ConcatMask,
58160+
ConcatSubOperand(VT, Ops, 1),
5816258161
DAG.getUNDEF(VT), Subtarget, DAG);
58163-
}
5816458162
}
5816558163
break;
5816658164
case X86ISD::VPERMV3:

0 commit comments

Comments
 (0)