• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/

Lines Matching refs:IndexC

17474   auto *IndexC = dyn_cast<ConstantSDNode>(EltNo);
17477 if (IndexC && VT.isFixedLengthVector() &&
17478 IndexC->getZExtValue() >= VT.getVectorNumElements())
17487 if (!IndexC) {
17507 unsigned Elt = IndexC->getZExtValue();
17656 auto *IndexC = dyn_cast<ConstantSDNode>(Index);
17657 if (!IndexC || !TLI.isBinOp(Vec.getOpcode()) || !Vec.hasOneUse() ||
17672 // extractelt (binop X, C), IndexC --> binop (extractelt X, IndexC), C'
17673 // extractelt (binop C, X), IndexC --> binop C', (extractelt X, IndexC)
17721 auto *IndexC = dyn_cast<ConstantSDNode>(Index);
17722 if (IndexC && VecVT.isFixedLengthVector() &&
17723 IndexC->getAPIntValue().uge(VecVT.getVectorNumElements()))
17727 if (((IndexC && VecOp.getOpcode() == ISD::BUILD_VECTOR) ||
17735 VecOp.getOpcode() == ISD::BUILD_VECTOR ? IndexC->getZExtValue() : 0;
17759 if (IndexC && VecOp.getOpcode() == ISD::BITCAST && VecVT.isInteger() &&
17763 unsigned ExtractIndex = IndexC->getZExtValue();
17801 if (IndexC && VecOp.getOpcode() == ISD::VECTOR_SHUFFLE) {
17804 int OrigElt = Shuf->getMaskElt(IndexC->getZExtValue());
17895 if (!LegalOperations && !IndexC && VecOp.hasOneUse() &&
17905 if (!LegalOperations || !IndexC)
17911 int Elt = IndexC->getZExtValue();
18367 // buildvec undef, ..., (zext (extractelt V, IndexC)), undef... -->
19116 auto *IndexC = dyn_cast<ConstantSDNode>(Index);
19117 if (IndexC && V.getOpcode() == ISD::CONCAT_VECTORS &&
19119 (IndexC->getZExtValue() % SubVT.getVectorNumElements()) == 0) {
19120 uint64_t SubIdx = IndexC->getZExtValue() / SubVT.getVectorNumElements();
19270 // extract (binop (concat X1, X2), Y), N --> binop XN, (extract Y, IndexC)
19271 // extract (binop X, (concat Y1, Y2)), N --> binop (extract X, IndexC), YN
19273 SDValue IndexC = DAG.getVectorIdxConstant(ExtBOIdx, DL);
19276 BinOp.getOperand(0), IndexC);
19280 BinOp.getOperand(1), IndexC);
20773 SDValue IndexC = DAG.getVectorIdxConstant(Index0, DL);
20774 SDValue X = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, EltVT, Src0, IndexC);
20775 SDValue Y = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, EltVT, Src1, IndexC);