Lines Matching defs:OddV
4793 static SDValue getWideningInterleave(SDValue EvenV, SDValue OddV,
4802 OddV = convertToScalableVector(VecContainerVT, OddV, DAG, Subtarget);
4821 OddV = DAG.getBitcast(VecContainerVT, OddV);
4827 if (OddV.isUndef()) {
4828 // If OddV is undef, this is a zero extend.
4834 // Interleaved = (OddV << VecVT.getScalarSizeInBits()) + EvenV.
4837 Interleaved = DAG.getNode(RISCVISD::VWSLL_VL, DL, WideContainerVT, OddV,
4844 DAG.getNode(RISCVISD::VZEXT_VL, DL, WideContainerVT, OddV, Mask, VL);
4854 // Widen EvenV and OddV with 0s and add one copy of OddV to EvenV with
4857 OddV, Passthru, Mask, VL);
4859 // Then get OddV * by 2^(VecVT.getScalarSizeInBits() - 1)
4863 OddV, AllOnesVec, Passthru, Mask, VL);
4866 // (OddV * 0xff...ff) + (OddV + EvenV)
4867 // = (OddV * 0x100...00) + EvenV
4868 // = (OddV << VecVT.getScalarSizeInBits()) + EvenV
5268 SDValue EvenV, OddV;
5275 OddV = (OddSrc / Size) == 0 ? V1 : V2;
5276 OddV = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, HalfVT, OddV,
5279 return getWideningInterleave(EvenV, OddV, DL, DAG, Subtarget);