Lines Matching refs:Lane
2070 auto GetSwizzleSrcs = [](size_t I, const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2072 if (Lane->getOpcode() != ISD::EXTRACT_VECTOR_ELT) in LowerBUILD_VECTOR()
2074 const SDValue &SwizzleSrc = Lane->getOperand(0); in LowerBUILD_VECTOR()
2075 const SDValue &IndexExt = Lane->getOperand(1); in LowerBUILD_VECTOR()
2094 auto GetShuffleSrc = [&](const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2095 if (Lane->getOpcode() != ISD::EXTRACT_VECTOR_ELT) in LowerBUILD_VECTOR()
2097 if (!isa<ConstantSDNode>(Lane->getOperand(1).getNode())) in LowerBUILD_VECTOR()
2099 if (Lane->getOperand(0).getValueType().getVectorNumElements() > in LowerBUILD_VECTOR()
2102 return Lane->getOperand(0); in LowerBUILD_VECTOR()
2135 const SDValue &Lane = Op->getOperand(I); in LowerBUILD_VECTOR() local
2136 if (Lane.isUndef()) in LowerBUILD_VECTOR()
2139 AddCount(SplatValueCounts, Lane); in LowerBUILD_VECTOR()
2141 if (IsConstant(Lane)) in LowerBUILD_VECTOR()
2143 if (auto ShuffleSrc = GetShuffleSrc(Lane)) in LowerBUILD_VECTOR()
2146 auto SwizzleSrcs = GetSwizzleSrcs(I, Lane); in LowerBUILD_VECTOR()
2189 IsLaneConstructed = [&, Swizzled](size_t I, const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2190 return Swizzled == GetSwizzleSrcs(I, Lane); in LowerBUILD_VECTOR()
2218 const SDValue &Lane = Op->getOperand(I); in LowerBUILD_VECTOR() local
2219 SDValue Src = GetShuffleSrc(Lane); in LowerBUILD_VECTOR()
2221 Mask[I] = Lane->getConstantOperandVal(1) * Scale1; in LowerBUILD_VECTOR()
2223 Mask[I] = DestLaneCount + Lane->getConstantOperandVal(1) * Scale2; in LowerBUILD_VECTOR()
2230 IsLaneConstructed = [&](size_t, const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2231 auto Src = GetShuffleSrc(Lane); in LowerBUILD_VECTOR()
2236 for (const SDValue &Lane : Op->op_values()) { in LowerBUILD_VECTOR() local
2237 if (IsConstant(Lane)) { in LowerBUILD_VECTOR()
2244 auto *Const = dyn_cast<ConstantSDNode>(Lane.getNode()); in LowerBUILD_VECTOR()
2251 ConstLanes.push_back(DAG.getConstant(NewVal, SDLoc(Lane), LaneT)); in LowerBUILD_VECTOR()
2253 ConstLanes.push_back(Lane); in LowerBUILD_VECTOR()
2262 IsLaneConstructed = [&IsConstant](size_t _, const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2263 return IsConstant(Lane); in LowerBUILD_VECTOR()
2278 IsLaneConstructed = [&SplatValue](size_t _, const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2279 return Lane == SplatValue; in LowerBUILD_VECTOR()
2288 const SDValue &Lane = Op->getOperand(I); in LowerBUILD_VECTOR() local
2289 if (!Lane.isUndef() && !IsLaneConstructed(I, Lane)) in LowerBUILD_VECTOR()
2290 Result = DAG.getNode(ISD::INSERT_VECTOR_ELT, DL, VecT, Result, Lane, in LowerBUILD_VECTOR()