Lines Matching defs:IndexC
178 // extelt (bitcast VecX), IndexC --> bitcast X[IndexC]
333 auto *IndexC = dyn_cast<ConstantInt>(Index);
334 if (IndexC) {
340 if (!EC.Scalable && IndexC->getValue().uge(NumElts))
352 DemandedElts.setBit(IndexC->getZExtValue());
386 if (match(SrcVec, m_UnOp(UO)) && cheapToScalarize(SrcVec, IndexC)) {
394 if (match(SrcVec, m_BinOp(BO)) && cheapToScalarize(SrcVec, IndexC)) {
405 cheapToScalarize(SrcVec, IndexC)) {
419 if (isa<Constant>(IE->getOperand(2)) && IndexC)
1553 uint64_t IndexC;
1557 m_ConstantInt(IndexC)))) ||
1558 !match(Op1, m_Undef()) || match(Mask, m_ZeroMask()) || IndexC == 0)
1859 // shuffle (insert ?, Scalar, IndexC), V1, Mask --> insert V1, Scalar, IndexC'
1860 auto isShufflingScalarIntoOp1 = [&](Value *&Scalar, ConstantInt *&IndexC) {
1863 m_ConstantInt(IndexC))))
1879 if (NewInsIndex != -1 || Mask[i] != IndexC->getSExtValue())
1889 IndexC = ConstantInt::get(IndexC->getType(), NewInsIndex);
1897 ConstantInt *IndexC;
1898 if (isShufflingScalarIntoOp1(Scalar, IndexC))
1899 return InsertElementInst::Create(V1, Scalar, IndexC);
1906 if (isShufflingScalarIntoOp1(Scalar, IndexC))
1907 return InsertElementInst::Create(V1, Scalar, IndexC);