Lines Matching refs:VecOp
22412 SDValue VecOp = N->getOperand(0); in refineExtractVectorEltIntoMultipleNarrowExtractVectorElts() local
22413 EVT VecVT = VecOp.getValueType(); in refineExtractVectorEltIntoMultipleNarrowExtractVectorElts()
22539 SDValue NewVecOp = DAG.getBitcast(NewVecVT, VecOp); in refineExtractVectorEltIntoMultipleNarrowExtractVectorElts()
22554 SDValue VecOp = N->getOperand(0); in visitEXTRACT_VECTOR_ELT() local
22557 EVT VecVT = VecOp.getValueType(); in visitEXTRACT_VECTOR_ELT()
22558 if (VecOp.isUndef()) in visitEXTRACT_VECTOR_ELT()
22566 if (VecOp.getOpcode() == ISD::INSERT_VECTOR_ELT && in visitEXTRACT_VECTOR_ELT()
22567 Index == VecOp.getOperand(2)) { in visitEXTRACT_VECTOR_ELT()
22568 SDValue Elt = VecOp.getOperand(1); in visitEXTRACT_VECTOR_ELT()
22573 if (VecOp.getOpcode() == ISD::SCALAR_TO_VECTOR) { in visitEXTRACT_VECTOR_ELT()
22581 SDValue InOp = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
22598 if (((IndexC && VecOp.getOpcode() == ISD::BUILD_VECTOR) || in visitEXTRACT_VECTOR_ELT()
22599 VecOp.getOpcode() == ISD::SPLAT_VECTOR) && in visitEXTRACT_VECTOR_ELT()
22601 assert((VecOp.getOpcode() != ISD::BUILD_VECTOR || in visitEXTRACT_VECTOR_ELT()
22605 VecOp.getOpcode() == ISD::BUILD_VECTOR ? IndexC->getZExtValue() : 0; in visitEXTRACT_VECTOR_ELT()
22606 SDValue Elt = VecOp.getOperand(IndexVal); in visitEXTRACT_VECTOR_ELT()
22609 if (VecOp.hasOneUse() || TLI.aggressivelyPreferBuildVectorSources(VecVT) || in visitEXTRACT_VECTOR_ELT()
22636 KnownBits KnownElt = DAG.computeKnownBits(VecOp, EltMask); in visitEXTRACT_VECTOR_ELT()
22648 if (IndexC && VecOp.getOpcode() == ISD::BITCAST && VecVT.isInteger() && in visitEXTRACT_VECTOR_ELT()
22649 VecOp.hasOneUse()) { in visitEXTRACT_VECTOR_ELT()
22655 SDValue BCSrc = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
22687 if (IndexC && VecOp.getOpcode() == ISD::VECTOR_SHUFFLE) { in visitEXTRACT_VECTOR_ELT()
22688 auto *Shuf = cast<ShuffleVectorSDNode>(VecOp); in visitEXTRACT_VECTOR_ELT()
22699 SVInVec = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
22701 SVInVec = VecOp.getOperand(1); in visitEXTRACT_VECTOR_ELT()
22729 if (llvm::all_of(VecOp->uses(), [&](SDNode *Use) { in visitEXTRACT_VECTOR_ELT()
22731 Use->getOperand(0) == VecOp && in visitEXTRACT_VECTOR_ELT()
22735 for (SDNode *Use : VecOp->uses()) { in visitEXTRACT_VECTOR_ELT()
22740 if (SimplifyDemandedVectorElts(VecOp, DemandedElts, true)) { in visitEXTRACT_VECTOR_ELT()
22748 if (SimplifyDemandedBits(VecOp, DemandedBits, DemandedElts, true)) { in visitEXTRACT_VECTOR_ELT()
22769 if (VecOp.getOpcode() == ISD::BITCAST) { in visitEXTRACT_VECTOR_ELT()
22771 if (!VecOp.hasOneUse()) in visitEXTRACT_VECTOR_ELT()
22774 EVT BCVT = VecOp.getOperand(0).getValueType(); in visitEXTRACT_VECTOR_ELT()
22779 VecOp = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
22784 if (!LegalOperations && !IndexC && VecOp.hasOneUse() && in visitEXTRACT_VECTOR_ELT()
22785 ISD::isNormalLoad(VecOp.getNode()) && in visitEXTRACT_VECTOR_ELT()
22786 !Index->hasPredecessor(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
22787 auto *VecLoad = dyn_cast<LoadSDNode>(VecOp); in visitEXTRACT_VECTOR_ELT()
22802 if (ISD::isNormalLoad(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
22803 LN0 = cast<LoadSDNode>(VecOp); in visitEXTRACT_VECTOR_ELT()
22804 } else if (VecOp.getOpcode() == ISD::SCALAR_TO_VECTOR && in visitEXTRACT_VECTOR_ELT()
22805 VecOp.getOperand(0).getValueType() == ExtVT && in visitEXTRACT_VECTOR_ELT()
22806 ISD::isNormalLoad(VecOp.getOperand(0).getNode())) { in visitEXTRACT_VECTOR_ELT()
22808 if (!VecOp.hasOneUse()) in visitEXTRACT_VECTOR_ELT()
22811 LN0 = cast<LoadSDNode>(VecOp.getOperand(0)); in visitEXTRACT_VECTOR_ELT()
22813 if (auto *Shuf = dyn_cast<ShuffleVectorSDNode>(VecOp)) { in visitEXTRACT_VECTOR_ELT()
22819 if (!VecOp.hasOneUse()) in visitEXTRACT_VECTOR_ELT()
22829 VecOp = (Idx < (int)NumElts) ? VecOp.getOperand(0) : VecOp.getOperand(1); in visitEXTRACT_VECTOR_ELT()
22831 if (VecOp.getOpcode() == ISD::BITCAST) { in visitEXTRACT_VECTOR_ELT()
22833 if (!VecOp.hasOneUse()) in visitEXTRACT_VECTOR_ELT()
22836 VecOp = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
22838 if (ISD::isNormalLoad(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
22839 LN0 = cast<LoadSDNode>(VecOp); in visitEXTRACT_VECTOR_ELT()
22843 } else if (VecOp.getOpcode() == ISD::CONCAT_VECTORS && !BCNumEltsChanged && in visitEXTRACT_VECTOR_ELT()
22847 VecOp.getOperand(0).getValueType().getVectorElementType()))) { in visitEXTRACT_VECTOR_ELT()
22856 EVT ConcatVT = VecOp.getOperand(0).getValueType(); in visitEXTRACT_VECTOR_ELT()
22861 SDValue ConcatOp = VecOp.getOperand(Elt / ConcatNumElts); in visitEXTRACT_VECTOR_ELT()