Idx = CI->getZExtValue();
return getVectorInstrCost(I->getOpcode(), I->getType(), Idx);
}
- case Instruction::Call: {
- if (const IntrinsicInst *II = dyn_cast<IntrinsicInst>(U)) {
- IntrinsicCostAttributes CostAttrs(*II);
- return getIntrinsicInstrCost(CostAttrs, CostKind);
- } else {
- return BaseT::getUserCost(U, Operands, CostKind);
- }
- }
case Instruction::ShuffleVector: {
const ShuffleVectorInst *Shuffle = cast<ShuffleVectorInst>(I);
auto *Ty = cast<VectorType>(Shuffle->getType());
return getShuffleCost(TTI::SK_PermuteTwoSrc, Ty, 0, nullptr);
}
- case Instruction::ZExt:
- case Instruction::SExt:
- case Instruction::FPToUI:
- case Instruction::FPToSI:
- case Instruction::FPExt:
- case Instruction::PtrToInt:
- case Instruction::IntToPtr:
- case Instruction::SIToFP:
- case Instruction::UIToFP:
- case Instruction::Trunc:
- case Instruction::FPTrunc:
- case Instruction::BitCast:
- case Instruction::AddrSpaceCast: {
- return getCastInstrCost(I->getOpcode(), I->getType(),
- I->getOperand(0)->getType(), CostKind, I);
- }
case Instruction::Add:
case Instruction::FAdd:
case Instruction::Sub: