Lines Matching refs:SrcVec
6221 SDValue SrcVec = SrcExtract.getOperand(0);
6222 EVT SrcVT = SrcVec.getValueType();
6230 Ops.push_back(SrcVec);
8014 static SDValue createVariablePermute(MVT VT, SDValue SrcVec, SDValue IndicesVec,
8030 // Handle SrcVec that don't match VT type.
8031 if (SrcVec.getValueSizeInBits() != SizeInBits) {
8032 if ((SrcVec.getValueSizeInBits() % SizeInBits) == 0) {
8033 // Handle larger SrcVec by treating it as a larger permute.
8034 unsigned Scale = SrcVec.getValueSizeInBits() / SizeInBits;
8040 createVariablePermute(VT, SrcVec, IndicesVec, DL, DAG, Subtarget), 0,
8042 } else if (SrcVec.getValueSizeInBits() < SizeInBits) {
8043 // Widen smaller SrcVec to match VT.
8044 SrcVec = widenSubVector(VT, SrcVec, false, Subtarget, DAG, SDLoc(SrcVec));
8111 DAG.getVectorShuffle(VT, DL, SrcVec, SrcVec, {0, 0}),
8112 DAG.getVectorShuffle(VT, DL, SrcVec, SrcVec, {1, 1}),
8120 SDValue LoSrc = extract128BitVector(SrcVec, 0, DAG, DL);
8121 SDValue HiSrc = extract128BitVector(SrcVec, 16, DAG, DL);
8129 SDValue Lo = extract128BitVector(SrcVec, 0, DAG, DL);
8130 SDValue Hi = extract128BitVector(SrcVec, 16, DAG, DL);
8158 MVT::v32i8, DAG.getBitcast(MVT::v32i8, SrcVec),
8167 SrcVec = DAG.getBitcast(MVT::v8f32, SrcVec);
8168 SDValue LoLo = DAG.getVectorShuffle(MVT::v8f32, DL, SrcVec, SrcVec,
8170 SDValue HiHi = DAG.getVectorShuffle(MVT::v8f32, DL, SrcVec, SrcVec,
8191 SrcVec = widenSubVector(WidenSrcVT, SrcVec, false, Subtarget, DAG,
8192 SDLoc(SrcVec));
8195 SDValue Res = createVariablePermute(WidenSrcVT, SrcVec, IndicesVec, DL,
8201 SrcVec = DAG.getBitcast(MVT::v4f64, SrcVec);
8203 DAG.getVectorShuffle(MVT::v4f64, DL, SrcVec, SrcVec, {0, 1, 0, 1});
8205 DAG.getVectorShuffle(MVT::v4f64, DL, SrcVec, SrcVec, {2, 3, 2, 3});
8252 SrcVec = DAG.getBitcast(ShuffleVT, SrcVec);
8254 ? DAG.getNode(Opcode, DL, ShuffleVT, IndicesVec, SrcVec)
8255 : DAG.getNode(Opcode, DL, ShuffleVT, SrcVec, IndicesVec);
8273 SDValue SrcVec, IndicesVec;
8276 // (extract_elt SrcVec, (extract_elt IndicesVec, i)).
8285 if (!SrcVec)
8286 SrcVec = Op.getOperand(0);
8287 else if (SrcVec != Op.getOperand(0))
8312 return createVariablePermute(VT, SrcVec, IndicesVec, DL, DAG, Subtarget);
34823 SDValue SrcVec = N->getOperand(0).getOperand(0);
34824 EVT SrcVecVT = SrcVec.getValueType();
34830 N->getOperand(0)->isOnlyUserOf(SrcVec.getNode()) &&
34850 {SrcVec}, 0, SrcVec, ShuffleMask, {}, /*Depth*/ 2,
37760 SDValue SrcVec = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, InSubVT, N0,
37762 SrcVec = ExtendVecSize(DL, SrcVec, SplitSize);
37763 SrcVec = Opcode == ISD::SIGN_EXTEND
37764 ? DAG.getSignExtendVectorInReg(SrcVec, DL, SubVT)
37765 : DAG.getZeroExtendVectorInReg(SrcVec, DL, SubVT);
37766 Opnds.push_back(SrcVec);