@@ -41920,7 +41920,6 @@ static SDValue canonicalizeLaneShuffleWithRepeatedOps(SDValue V,
41920
41920
41921
41921
static SDValue combineConcatVectorOps(const SDLoc &DL, MVT VT,
41922
41922
ArrayRef<SDValue> Ops, SelectionDAG &DAG,
41923
- TargetLowering::DAGCombinerInfo &DCI,
41924
41923
const X86Subtarget &Subtarget,
41925
41924
unsigned Depth = 0);
41926
41925
@@ -42669,7 +42668,7 @@ static SDValue combineTargetShuffle(SDValue N, const SDLoc &DL,
42669
42668
if (CanConcat) {
42670
42669
SDValue Ops[] = {N.getOperand(0), N.getOperand(2)};
42671
42670
if (SDValue ConcatSrc =
42672
- combineConcatVectorOps(DL, WideVT, Ops, DAG, DCI, Subtarget)) {
42671
+ combineConcatVectorOps(DL, WideVT, Ops, DAG, Subtarget)) {
42673
42672
SDValue Mask = widenSubVector(N.getOperand(1), false, Subtarget, DAG,
42674
42673
DL, WideVT.getSizeInBits());
42675
42674
SDValue Perm = DAG.getNode(X86ISD::VPERMV, DL, WideVT, Mask, ConcatSrc);
@@ -42684,7 +42683,7 @@ static SDValue combineTargetShuffle(SDValue N, const SDLoc &DL,
42684
42683
// See if we can concatenate the commuted operands.
42685
42684
if (CanConcat) {
42686
42685
if (SDValue ConcatSrc = combineConcatVectorOps(
42687
- DL, WideVT, {N.getOperand(2), N.getOperand(0)}, DAG, DCI,
42686
+ DL, WideVT, {N.getOperand(2), N.getOperand(0)}, DAG,
42688
42687
Subtarget)) {
42689
42688
ShuffleVectorSDNode::commuteMask(Mask);
42690
42689
Mask.append(NumElts, SM_SentinelUndef);
@@ -42714,7 +42713,7 @@ static SDValue combineTargetShuffle(SDValue N, const SDLoc &DL,
42714
42713
m_InsertSubvector(m_Undef(), m_Value(Ops[1]), m_Zero())) &&
42715
42714
Ops[0].getValueType() == HalfVT && Ops[1].getValueType() == HalfVT) {
42716
42715
if (SDValue ConcatSrc =
42717
- combineConcatVectorOps(DL, VT, Ops, DAG, DCI, Subtarget)) {
42716
+ combineConcatVectorOps(DL, VT, Ops, DAG, Subtarget)) {
42718
42717
for (int &M : Mask)
42719
42718
M = (M < (int)NumElts ? M : (M - (NumElts / 2)));
42720
42719
return lowerShuffleWithPERMV(DL, VT, Mask, ConcatSrc,
@@ -57822,7 +57821,6 @@ CastIntSETCCtoFP(MVT VT, ISD::CondCode CC, unsigned NumSignificantBitsLHS,
57822
57821
/// ISD::INSERT_SUBVECTOR). The ops are assumed to be of the same type.
57823
57822
static SDValue combineConcatVectorOps(const SDLoc &DL, MVT VT,
57824
57823
ArrayRef<SDValue> Ops, SelectionDAG &DAG,
57825
- TargetLowering::DAGCombinerInfo &DCI,
57826
57824
const X86Subtarget &Subtarget,
57827
57825
unsigned Depth) {
57828
57826
assert(Subtarget.hasAVX() && "AVX assumed for concat_vectors");
@@ -57980,8 +57978,7 @@ static SDValue combineConcatVectorOps(const SDLoc &DL, MVT VT,
57980
57978
}
57981
57979
if (AllConstants)
57982
57980
return DAG.getNode(ISD::CONCAT_VECTORS, DL, VT, Subs);
57983
- return combineConcatVectorOps(DL, VT, Subs, DAG, DCI, Subtarget,
57984
- Depth + 1);
57981
+ return combineConcatVectorOps(DL, VT, Subs, DAG, Subtarget, Depth + 1);
57985
57982
};
57986
57983
57987
57984
switch (Op0.getOpcode()) {
@@ -58663,7 +58660,7 @@ static SDValue combineCONCAT_VECTORS(SDNode *N, SelectionDAG &DAG,
58663
58660
58664
58661
if (Subtarget.hasAVX() && TLI.isTypeLegal(VT) && TLI.isTypeLegal(SrcVT)) {
58665
58662
if (SDValue R = combineConcatVectorOps(SDLoc(N), VT.getSimpleVT(), Ops, DAG,
58666
- DCI, Subtarget))
58663
+ Subtarget))
58667
58664
return R;
58668
58665
}
58669
58666
@@ -58765,7 +58762,7 @@ static SDValue combineINSERT_SUBVECTOR(SDNode *N, SelectionDAG &DAG,
58765
58762
SmallVector<SDValue, 2> SubVectorOps;
58766
58763
if (collectConcatOps(N, SubVectorOps, DAG)) {
58767
58764
if (SDValue Fold =
58768
- combineConcatVectorOps(dl, OpVT, SubVectorOps, DAG, DCI, Subtarget))
58765
+ combineConcatVectorOps(dl, OpVT, SubVectorOps, DAG, Subtarget))
58769
58766
return Fold;
58770
58767
58771
58768
// If we're inserting all zeros into the upper half, change this to
0 commit comments