Lines Matching defs:IndexC
22522 auto *IndexC = dyn_cast<ConstantSDNode>(EltNo);
22525 if (IndexC && VT.isFixedLengthVector() &&
22526 IndexC->getZExtValue() >= VT.getVectorNumElements())
22535 if (!IndexC) {
22549 unsigned Elt = IndexC->getZExtValue();
22805 auto *IndexC = dyn_cast<ConstantSDNode>(Index);
22807 if (!IndexC || !Vec.hasOneUse() || (!TLI.isBinOp(Opc) && Opc != ISD::SETCC) ||
22832 // extractelt (op X, C), IndexC --> op (extractelt X, IndexC), C'
22833 // extractelt (op C, X), IndexC --> op C', (extractelt X, IndexC)
22885 auto *IndexC = dyn_cast<ConstantSDNode>(N->getOperand(1));
22886 if (!IndexC)
22889 assert(IndexC->getZExtValue() < VecVT.getVectorNumElements() &&
22923 Worklist.emplace_back(N, /*BitPos=*/VecEltBitWidth * IndexC->getZExtValue(),
23061 auto *IndexC = dyn_cast<ConstantSDNode>(Index);
23062 if (IndexC && VecVT.isFixedLengthVector() &&
23063 IndexC->getAPIntValue().uge(VecVT.getVectorNumElements()))
23067 if (((IndexC && VecOp.getOpcode() == ISD::BUILD_VECTOR) ||
23074 VecOp.getOpcode() == ISD::BUILD_VECTOR ? IndexC->getZExtValue() : 0;
23103 if (IndexC && ScalarVT.isFloatingPoint()) {
23104 APInt EltMask = APInt::getOneBitSet(NumElts, IndexC->getZExtValue());
23117 if (IndexC && VecOp.getOpcode() == ISD::BITCAST && VecVT.isInteger() &&
23121 unsigned ExtractIndex = IndexC->getZExtValue();
23170 if (IndexC && VecOp.getOpcode() == ISD::VECTOR_SHUFFLE) {
23173 int OrigElt = Shuf->getMaskElt(IndexC->getZExtValue());
23267 if (!LegalOperations && !IndexC && VecOp.hasOneUse() &&
23277 if (!LegalOperations || !IndexC)
23283 int Elt = IndexC->getZExtValue();
23771 // buildvec undef, ..., (zext (extractelt V, IndexC)), undef... -->
24877 auto *IndexC = dyn_cast<ConstantSDNode>(Index);
24878 if (IndexC && V.getOpcode() == ISD::CONCAT_VECTORS &&
24880 (IndexC->getZExtValue() % SubVT.getVectorMinNumElements()) == 0) {
24881 uint64_t SubIdx = IndexC->getZExtValue() / SubVT.getVectorMinNumElements();
25034 // extract (binop (concat X1, X2), Y), N --> binop XN, (extract Y, IndexC)
25035 // extract (binop X, (concat Y1, Y2)), N --> binop (extract X, IndexC), YN
25037 SDValue IndexC = DAG.getVectorIdxConstant(ExtBOIdx, DL);
25040 BinOp.getOperand(0), IndexC);
25044 BinOp.getOperand(1), IndexC);
25254 SDValue IndexC = DAG.getVectorIdxConstant(Index, DL);
25256 DemandedSubvector.first, IndexC));
27593 SDValue IndexC = DAG.getVectorIdxConstant(Index0, DL);
27594 SDValue X = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, EltVT, Src0, IndexC);
27595 SDValue Y = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, EltVT, Src1, IndexC);
27622 SDValue IndexC = DAG.getVectorIdxConstant(Index0, DL);
27624 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, SrcEltVT, Src0, IndexC);