Lines Matching refs:Lane
1450 auto GetSwizzleSrcs = [](size_t I, const SDValue &Lane) {
1452 if (Lane->getOpcode() != ISD::EXTRACT_VECTOR_ELT)
1454 const SDValue &SwizzleSrc = Lane->getOperand(0);
1455 const SDValue &IndexExt = Lane->getOperand(1);
1498 const SDValue &Lane = Op->getOperand(I);
1499 if (Lane.isUndef())
1502 AddCount(SplatValueCounts, Lane);
1504 if (IsConstant(Lane)) {
1507 auto SwizzleSrcs = GetSwizzleSrcs(I, Lane);
1535 IsLaneConstructed = [&, Swizzled](size_t I, const SDValue &Lane) {
1536 return Swizzled == GetSwizzleSrcs(I, Lane);
1541 for (const SDValue &Lane : Op->op_values()) {
1542 if (IsConstant(Lane)) {
1543 ConstLanes.push_back(Lane);
1551 IsLaneConstructed = [&](size_t _, const SDValue &Lane) {
1552 return IsConstant(Lane);
1568 IsLaneConstructed = [&](size_t _, const SDValue &Lane) {
1569 return Lane == SplatValue;
1575 const SDValue &Lane = Op->getOperand(I);
1576 if (!Lane.isUndef() && !IsLaneConstructed(I, Lane))
1577 Result = DAG.getNode(ISD::INSERT_VECTOR_ELT, DL, VecT, Result, Lane,