Lines Matching refs:VecOp
19761 SDValue VecOp = N->getOperand(0); in visitEXTRACT_VECTOR_ELT() local
19764 EVT VecVT = VecOp.getValueType(); in visitEXTRACT_VECTOR_ELT()
19765 if (VecOp.isUndef()) in visitEXTRACT_VECTOR_ELT()
19773 if (VecOp.getOpcode() == ISD::INSERT_VECTOR_ELT && in visitEXTRACT_VECTOR_ELT()
19774 Index == VecOp.getOperand(2)) { in visitEXTRACT_VECTOR_ELT()
19775 SDValue Elt = VecOp.getOperand(1); in visitEXTRACT_VECTOR_ELT()
19780 if (VecOp.getOpcode() == ISD::SCALAR_TO_VECTOR) { in visitEXTRACT_VECTOR_ELT()
19788 SDValue InOp = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
19804 if (((IndexC && VecOp.getOpcode() == ISD::BUILD_VECTOR) || in visitEXTRACT_VECTOR_ELT()
19805 VecOp.getOpcode() == ISD::SPLAT_VECTOR) && in visitEXTRACT_VECTOR_ELT()
19807 (VecOp.hasOneUse() || TLI.aggressivelyPreferBuildVectorSources(VecVT))) { in visitEXTRACT_VECTOR_ELT()
19808 assert((VecOp.getOpcode() != ISD::BUILD_VECTOR || in visitEXTRACT_VECTOR_ELT()
19812 VecOp.getOpcode() == ISD::BUILD_VECTOR ? IndexC->getZExtValue() : 0; in visitEXTRACT_VECTOR_ELT()
19813 SDValue Elt = VecOp.getOperand(IndexVal); in visitEXTRACT_VECTOR_ELT()
19839 if (IndexC && VecOp.getOpcode() == ISD::BITCAST && VecVT.isInteger() && in visitEXTRACT_VECTOR_ELT()
19840 VecOp.hasOneUse()) { in visitEXTRACT_VECTOR_ELT()
19846 SDValue BCSrc = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
19878 if (IndexC && VecOp.getOpcode() == ISD::VECTOR_SHUFFLE) { in visitEXTRACT_VECTOR_ELT()
19879 auto *Shuf = cast<ShuffleVectorSDNode>(VecOp); in visitEXTRACT_VECTOR_ELT()
19890 SVInVec = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
19892 SVInVec = VecOp.getOperand(1); in visitEXTRACT_VECTOR_ELT()
19920 if (llvm::all_of(VecOp->uses(), [&](SDNode *Use) { in visitEXTRACT_VECTOR_ELT()
19922 Use->getOperand(0) == VecOp && in visitEXTRACT_VECTOR_ELT()
19926 for (SDNode *Use : VecOp->uses()) { in visitEXTRACT_VECTOR_ELT()
19931 if (SimplifyDemandedVectorElts(VecOp, DemandedElts, true)) { in visitEXTRACT_VECTOR_ELT()
19939 if (SimplifyDemandedBits(VecOp, DemandedBits, DemandedElts, true)) { in visitEXTRACT_VECTOR_ELT()
19957 if (VecOp.getOpcode() == ISD::BITCAST) { in visitEXTRACT_VECTOR_ELT()
19959 if (!VecOp.hasOneUse()) in visitEXTRACT_VECTOR_ELT()
19962 EVT BCVT = VecOp.getOperand(0).getValueType(); in visitEXTRACT_VECTOR_ELT()
19967 VecOp = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
19972 if (!LegalOperations && !IndexC && VecOp.hasOneUse() && in visitEXTRACT_VECTOR_ELT()
19973 ISD::isNormalLoad(VecOp.getNode()) && in visitEXTRACT_VECTOR_ELT()
19974 !Index->hasPredecessor(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
19975 auto *VecLoad = dyn_cast<LoadSDNode>(VecOp); in visitEXTRACT_VECTOR_ELT()
19990 if (ISD::isNormalLoad(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
19991 LN0 = cast<LoadSDNode>(VecOp); in visitEXTRACT_VECTOR_ELT()
19992 } else if (VecOp.getOpcode() == ISD::SCALAR_TO_VECTOR && in visitEXTRACT_VECTOR_ELT()
19993 VecOp.getOperand(0).getValueType() == ExtVT && in visitEXTRACT_VECTOR_ELT()
19994 ISD::isNormalLoad(VecOp.getOperand(0).getNode())) { in visitEXTRACT_VECTOR_ELT()
19996 if (!VecOp.hasOneUse()) in visitEXTRACT_VECTOR_ELT()
19999 LN0 = cast<LoadSDNode>(VecOp.getOperand(0)); in visitEXTRACT_VECTOR_ELT()
20001 if (auto *Shuf = dyn_cast<ShuffleVectorSDNode>(VecOp)) { in visitEXTRACT_VECTOR_ELT()
20007 if (!VecOp.hasOneUse()) in visitEXTRACT_VECTOR_ELT()
20017 VecOp = (Idx < (int)NumElts) ? VecOp.getOperand(0) : VecOp.getOperand(1); in visitEXTRACT_VECTOR_ELT()
20019 if (VecOp.getOpcode() == ISD::BITCAST) { in visitEXTRACT_VECTOR_ELT()
20021 if (!VecOp.hasOneUse()) in visitEXTRACT_VECTOR_ELT()
20024 VecOp = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
20026 if (ISD::isNormalLoad(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
20027 LN0 = cast<LoadSDNode>(VecOp); in visitEXTRACT_VECTOR_ELT()
20031 } else if (VecOp.getOpcode() == ISD::CONCAT_VECTORS && !BCNumEltsChanged && in visitEXTRACT_VECTOR_ELT()
20035 VecOp.getOperand(0).getValueType().getVectorElementType()))) { in visitEXTRACT_VECTOR_ELT()
20045 EVT ConcatVT = VecOp.getOperand(0).getValueType(); in visitEXTRACT_VECTOR_ELT()
20050 SDValue ConcatOp = VecOp.getOperand(Elt / ConcatNumElts); in visitEXTRACT_VECTOR_ELT()