Lines Matching defs:ICA
517 static InstructionCost getHistogramCost(const IntrinsicCostAttributes &ICA) {
518 Type *BucketPtrsTy = ICA.getArgTypes()[0]; // Type of vector of pointers
519 Type *EltTy = ICA.getArgTypes()[1]; // Type of bucket elements
542 AArch64TTIImpl::getIntrinsicInstrCost(const IntrinsicCostAttributes &ICA,
548 auto *RetTy = ICA.getReturnType();
553 switch (ICA.getID()) {
557 return getHistogramCost(ICA);
629 if (ICA.getArgs().size() != ICA.getArgTypes().size() ||
630 ICA.getReturnType()->getScalarType()->isIntegerTy(1))
634 EVT VecVT = getTLI()->getValueType(DL, ICA.getArgTypes()[0]);
635 bool IsExtract = ICA.getID() == Intrinsic::vector_extract;
637 : getTLI()->getValueType(DL, ICA.getArgTypes()[1]);
647 const Value *Idx = IsExtract ? ICA.getArgs()[1] : ICA.getArgs()[2];
669 CostTableLookup(BitreverseTbl, ICA.getID(), LegalisationCost.second);
744 if (const auto *Entry = CostTableLookup(WithOverflowCostTbl, ICA.getID(),
751 if (ICA.getArgTypes().empty())
753 bool IsSigned = ICA.getID() == Intrinsic::fptosi_sat;
754 auto LT = getTypeLegalizationCost(ICA.getArgTypes()[0]);
794 if (ICA.getArgs().empty())
798 const TTI::OperandValueInfo OpInfoZ = TTI::getOperandInfo(ICA.getArgs()[2]);
839 auto *RetTy = dyn_cast<FixedVectorType>(ICA.getReturnType());
842 EVT OpVT = getTLI()->getValueType(DL, ICA.getArgTypes()[0]);
862 return BaseT::getIntrinsicInstrCost(ICA, CostKind);