Lines Matching refs:Lane

2081   auto GetSwizzleSrcs = [](size_t I, const SDValue &Lane) {  in LowerBUILD_VECTOR()  argument
2083 if (Lane->getOpcode() != ISD::EXTRACT_VECTOR_ELT) in LowerBUILD_VECTOR()
2085 const SDValue &SwizzleSrc = Lane->getOperand(0); in LowerBUILD_VECTOR()
2086 const SDValue &IndexExt = Lane->getOperand(1); in LowerBUILD_VECTOR()
2105 auto GetShuffleSrc = [&](const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2106 if (Lane->getOpcode() != ISD::EXTRACT_VECTOR_ELT) in LowerBUILD_VECTOR()
2108 if (!isa<ConstantSDNode>(Lane->getOperand(1).getNode())) in LowerBUILD_VECTOR()
2110 if (Lane->getOperand(0).getValueType().getVectorNumElements() > in LowerBUILD_VECTOR()
2113 return Lane->getOperand(0); in LowerBUILD_VECTOR()
2146 const SDValue &Lane = Op->getOperand(I); in LowerBUILD_VECTOR() local
2147 if (Lane.isUndef()) in LowerBUILD_VECTOR()
2150 AddCount(SplatValueCounts, Lane); in LowerBUILD_VECTOR()
2152 if (IsConstant(Lane)) in LowerBUILD_VECTOR()
2154 if (auto ShuffleSrc = GetShuffleSrc(Lane)) in LowerBUILD_VECTOR()
2157 auto SwizzleSrcs = GetSwizzleSrcs(I, Lane); in LowerBUILD_VECTOR()
2200 IsLaneConstructed = [&, Swizzled](size_t I, const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2201 return Swizzled == GetSwizzleSrcs(I, Lane); in LowerBUILD_VECTOR()
2229 const SDValue &Lane = Op->getOperand(I); in LowerBUILD_VECTOR() local
2230 SDValue Src = GetShuffleSrc(Lane); in LowerBUILD_VECTOR()
2232 Mask[I] = Lane->getConstantOperandVal(1) * Scale1; in LowerBUILD_VECTOR()
2234 Mask[I] = DestLaneCount + Lane->getConstantOperandVal(1) * Scale2; in LowerBUILD_VECTOR()
2241 IsLaneConstructed = [&](size_t, const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2242 auto Src = GetShuffleSrc(Lane); in LowerBUILD_VECTOR()
2247 for (const SDValue &Lane : Op->op_values()) { in LowerBUILD_VECTOR() local
2248 if (IsConstant(Lane)) { in LowerBUILD_VECTOR()
2255 auto *Const = dyn_cast<ConstantSDNode>(Lane.getNode()); in LowerBUILD_VECTOR()
2263 ConstLanes.push_back(DAG.getConstant(NewVal, SDLoc(Lane), LaneT)); in LowerBUILD_VECTOR()
2265 ConstLanes.push_back(Lane); in LowerBUILD_VECTOR()
2274 IsLaneConstructed = [&IsConstant](size_t _, const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2275 return IsConstant(Lane); in LowerBUILD_VECTOR()
2280 IsLaneConstructed = [&SplatValue](size_t _, const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2281 return Lane == SplatValue; in LowerBUILD_VECTOR()
2290 const SDValue &Lane = Op->getOperand(I); in LowerBUILD_VECTOR() local
2291 if (!Lane.isUndef() && !IsLaneConstructed(I, Lane)) in LowerBUILD_VECTOR()
2292 Result = DAG.getNode(ISD::INSERT_VECTOR_ELT, DL, VecT, Result, Lane, in LowerBUILD_VECTOR()