Lines Matching defs:IndexC
22078 auto *IndexC = dyn_cast<ConstantSDNode>(EltNo);
22081 if (IndexC && VT.isFixedLengthVector() &&
22082 IndexC->getZExtValue() >= VT.getVectorNumElements())
22091 if (!IndexC) {
22105 unsigned Elt = IndexC->getZExtValue();
22361 auto *IndexC = dyn_cast<ConstantSDNode>(Index);
22362 if (!IndexC || !TLI.isBinOp(Vec.getOpcode()) || !Vec.hasOneUse() ||
22380 // extractelt (binop X, C), IndexC --> binop (extractelt X, IndexC), C'
22381 // extractelt (binop C, X), IndexC --> binop C', (extractelt X, IndexC)
22417 auto *IndexC = dyn_cast<ConstantSDNode>(N->getOperand(1));
22418 if (!IndexC)
22421 assert(IndexC->getZExtValue() < VecVT.getVectorNumElements() &&
22455 Worklist.emplace_back(N, /*BitPos=*/VecEltBitWidth * IndexC->getZExtValue(),
22592 auto *IndexC = dyn_cast<ConstantSDNode>(Index);
22593 if (IndexC && VecVT.isFixedLengthVector() &&
22594 IndexC->getAPIntValue().uge(VecVT.getVectorNumElements()))
22598 if (((IndexC && VecOp.getOpcode() == ISD::BUILD_VECTOR) ||
22605 VecOp.getOpcode() == ISD::BUILD_VECTOR ? IndexC->getZExtValue() : 0;
22634 if (IndexC && ScalarVT.isFloatingPoint()) {
22635 APInt EltMask = APInt::getOneBitSet(NumElts, IndexC->getZExtValue());
22648 if (IndexC && VecOp.getOpcode() == ISD::BITCAST && VecVT.isInteger() &&
22652 unsigned ExtractIndex = IndexC->getZExtValue();
22687 if (IndexC && VecOp.getOpcode() == ISD::VECTOR_SHUFFLE) {
22690 int OrigElt = Shuf->getMaskElt(IndexC->getZExtValue());
22784 if (!LegalOperations && !IndexC && VecOp.hasOneUse() &&
22794 if (!LegalOperations || !IndexC)
22800 int Elt = IndexC->getZExtValue();
23288 // buildvec undef, ..., (zext (extractelt V, IndexC)), undef... -->
24372 auto *IndexC = dyn_cast<ConstantSDNode>(Index);
24373 if (IndexC && V.getOpcode() == ISD::CONCAT_VECTORS &&
24375 (IndexC->getZExtValue() % SubVT.getVectorMinNumElements()) == 0) {
24376 uint64_t SubIdx = IndexC->getZExtValue() / SubVT.getVectorMinNumElements();
24529 // extract (binop (concat X1, X2), Y), N --> binop XN, (extract Y, IndexC)
24530 // extract (binop X, (concat Y1, Y2)), N --> binop (extract X, IndexC), YN
24532 SDValue IndexC = DAG.getVectorIdxConstant(ExtBOIdx, DL);
24535 BinOp.getOperand(0), IndexC);
24539 BinOp.getOperand(1), IndexC);
24749 SDValue IndexC = DAG.getVectorIdxConstant(Index, DL);
24751 DemandedSubvector.first, IndexC));
27041 SDValue IndexC = DAG.getVectorIdxConstant(Index0, DL);
27042 SDValue X = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, EltVT, Src0, IndexC);
27043 SDValue Y = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, EltVT, Src1, IndexC);
27082 SDValue IndexC = DAG.getVectorIdxConstant(Index0, DL);
27084 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, SrcEltVT, Src0, IndexC);