Lines Matching refs:Lane

2064   auto GetSwizzleSrcs = [](size_t I, const SDValue &Lane) {  in LowerBUILD_VECTOR()  argument
2066 if (Lane->getOpcode() != ISD::EXTRACT_VECTOR_ELT) in LowerBUILD_VECTOR()
2068 const SDValue &SwizzleSrc = Lane->getOperand(0); in LowerBUILD_VECTOR()
2069 const SDValue &IndexExt = Lane->getOperand(1); in LowerBUILD_VECTOR()
2088 auto GetShuffleSrc = [&](const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2089 if (Lane->getOpcode() != ISD::EXTRACT_VECTOR_ELT) in LowerBUILD_VECTOR()
2091 if (!isa<ConstantSDNode>(Lane->getOperand(1).getNode())) in LowerBUILD_VECTOR()
2093 if (Lane->getOperand(0).getValueType().getVectorNumElements() > in LowerBUILD_VECTOR()
2096 return Lane->getOperand(0); in LowerBUILD_VECTOR()
2129 const SDValue &Lane = Op->getOperand(I); in LowerBUILD_VECTOR() local
2130 if (Lane.isUndef()) in LowerBUILD_VECTOR()
2133 AddCount(SplatValueCounts, Lane); in LowerBUILD_VECTOR()
2135 if (IsConstant(Lane)) in LowerBUILD_VECTOR()
2137 if (auto ShuffleSrc = GetShuffleSrc(Lane)) in LowerBUILD_VECTOR()
2140 auto SwizzleSrcs = GetSwizzleSrcs(I, Lane); in LowerBUILD_VECTOR()
2183 IsLaneConstructed = [&, Swizzled](size_t I, const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2184 return Swizzled == GetSwizzleSrcs(I, Lane); in LowerBUILD_VECTOR()
2212 const SDValue &Lane = Op->getOperand(I); in LowerBUILD_VECTOR() local
2213 SDValue Src = GetShuffleSrc(Lane); in LowerBUILD_VECTOR()
2215 Mask[I] = Lane->getConstantOperandVal(1) * Scale1; in LowerBUILD_VECTOR()
2217 Mask[I] = DestLaneCount + Lane->getConstantOperandVal(1) * Scale2; in LowerBUILD_VECTOR()
2224 IsLaneConstructed = [&](size_t, const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2225 auto Src = GetShuffleSrc(Lane); in LowerBUILD_VECTOR()
2230 for (const SDValue &Lane : Op->op_values()) { in LowerBUILD_VECTOR() local
2231 if (IsConstant(Lane)) { in LowerBUILD_VECTOR()
2238 auto *Const = dyn_cast<ConstantSDNode>(Lane.getNode()); in LowerBUILD_VECTOR()
2246 ConstLanes.push_back(DAG.getConstant(NewVal, SDLoc(Lane), LaneT)); in LowerBUILD_VECTOR()
2248 ConstLanes.push_back(Lane); in LowerBUILD_VECTOR()
2257 IsLaneConstructed = [&IsConstant](size_t _, const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2258 return IsConstant(Lane); in LowerBUILD_VECTOR()
2263 IsLaneConstructed = [&SplatValue](size_t _, const SDValue &Lane) { in LowerBUILD_VECTOR() argument
2264 return Lane == SplatValue; in LowerBUILD_VECTOR()
2273 const SDValue &Lane = Op->getOperand(I); in LowerBUILD_VECTOR() local
2274 if (!Lane.isUndef() && !IsLaneConstructed(I, Lane)) in LowerBUILD_VECTOR()
2275 Result = DAG.getNode(ISD::INSERT_VECTOR_ELT, DL, VecT, Result, Lane, in LowerBUILD_VECTOR()