Home
last modified time | relevance | path

Searched refs:VF (Results 1 – 25 of 96) sorted by relevance

1234

/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DInjectTLIMappings.cpp41 static void addVariantDeclaration(CallInst &CI, const ElementCount &VF, in addVariantDeclaration() argument
52 assert(Info->Shape.VF == VF && "Mangled name does not match VF"); in addVariantDeclaration()
94 auto AddVariantDecl = [&](const ElementCount &VF, bool Predicate) { in addMappingsFromTLI() argument
95 const VecDesc *VD = TLI.getVectorMappingInfo(ScalarName, VF, Predicate); in addMappingsFromTLI()
104 addVariantDeclaration(CI, VF, VD); in addMappingsFromTLI()
113 for (ElementCount VF = ElementCount::getFixed(2); in addMappingsFromTLI() local
114 ElementCount::isKnownLE(VF, WidestFixedVF); VF *= 2) in addMappingsFromTLI()
115 AddVariantDecl(VF, Predicated); in addMappingsFromTLI()
117 for (ElementCount VF = ElementCount::getScalable(2); in addMappingsFromTLI() local
118 ElementCount::isKnownLE(VF, WidestScalableVF); VF *= 2) in addMappingsFromTLI()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopVectorize.cpp1485 if (VF.isScalar() || Uniforms.contains(VF)) in collectUniformsAndScalars()
3770 assert(VF.isVector() && !Scalars.contains(VF) && in collectLoopScalars()
3777 Scalars[VF].insert(Uniforms[VF].begin(), Uniforms[VF].end()); in collectLoopScalars()
3847 Worklist.insert(Uniforms[VF].begin(), Uniforms[VF].end()); in collectLoopScalars()
4203 assert(VF.isVector() && !Uniforms.contains(VF) && in collectLoopUniforms()
5829 if (VF.isScalar() || VF.isZero() || InstsToScalarize.contains(VF)) in collectInstsToScalarize()
6427 if (VF.isVector() && isProfitableToScalarize(I, VF)) in getInstructionCost()
6750 if (Info.Shape.VF != VF) in setVectorizedCallDecision()
7334 buildVPlans(VF, VF); in planInVPlanNativePath()
7433 return VF; in plan()
[all …]
H A DVPlanRecipes.cpp173 auto Lane = VPLane::getLastLaneForVF(State.VF); in fixPhi()
464 if (State.VF.isVector() && !PhiR->isInLoop()) { in generateInstruction()
579 assert(State.VF.isVector() && "not widening"); in execute()
957 Value *RuntimeVF = getRuntimeVF(B, IntTy, VF); in getRuntimeVFAsFloat()
1150 if (!FirstLaneOnly && State.VF.isScalable()) { in execute()
1213 assert(State.VF.isVector() && "not widening"); in execute()
1652 ElementCount VF = State.VF; in execute() local
1653 Value *VStart = VF.isScalar() in execute()
1658 if (VF.isVector()) { in execute()
1683 Type *VecTy = State.VF.isScalar() in execute()
[all …]
H A DVPlan.cpp67 const ElementCount &VF) const { in getAsRuntimeExpr()
231 Value *Lane = Instance.Lane.getAsRuntimeExpr(Builder, VF); in get()
244 if (VF.isScalar()) in get()
257 Value *Shuf = Builder.CreateVectorSplat(VF, V, "broadcast"); in get()
275 if (VF.isScalar()) { in get()
661 for (unsigned Lane = 0, VF = State->VF.getKnownMinValue(); Lane < VF; in execute() local
735 auto VF = State.VF; in prepareToExecute() local
737 VF.isScalar() ? TCMO : Builder.CreateVectorSplat(VF, TCMO, "broadcast"); in prepareToExecute()
808 if (WidenPhi->onlyScalarsGenerated(State->VF)) in execute()
915 for (ElementCount VF : drop_begin(VFs)) in getName() local
[all …]
H A DVPlan.h112 ElementCount VF; member
115 iterator(ElementCount VF) : VF(VF) {} in iterator()
117 bool operator==(const iterator &Other) const { return VF == Other.VF; }
122 VF *= 2;
172 if (VF.isScalable()) in getLastLaneForVF()
202 assert(VF.isScalable() && Lane < VF.getKnownMinValue()); in mapToCacheIndex()
213 return VF.getKnownMinValue() * (VF.isScalable() ? 2 : 1); in getNumCachedLanes()
244 ElementCount VF; member
2763 void addVF(ElementCount VF) { VFs.insert(VF); } in addVF() argument
2768 VFs.insert(VF); in setVF()
[all …]
H A DLoopVectorizationLegality.cpp571 if (VF.isScalable()) in isUniform()
573 if (VF.isScalar()) in isUniform()
585 unsigned FixedVF = VF.getKnownMinValue(); in isUniform()
602 ElementCount VF) const { in isUniformMemOp()
610 return isUniform(Ptr, VF) && !blockNeedsPredication(I.getParent()); in isUniformMemOp()
776 for (ElementCount VF = ElementCount::getFixed(2); in isTLIScalarize() local
777 ElementCount::isKnownLE(VF, WidestFixedVF); VF *= 2) in isTLIScalarize()
778 Scalarize &= !TLI.isFunctionVectorizable(ScalarName, VF); in isTLIScalarize()
779 for (ElementCount VF = ElementCount::getScalable(1); in isTLIScalarize() local
780 ElementCount::isKnownLE(VF, WidestScalableVF); VF *= 2) in isTLIScalarize()
[all …]
H A DSLPVectorizer.cpp6986 for (; VF >= MinVF; VF /= 2) { in getBuildVectorCost()
7074 for (int I = VF, E = VL.size(); I < E; I += VF) in getBuildVectorCost()
7348 if (E2->Scalars.size() == VF && VF != CommonVF) { in createShuffle()
7374 if (E1->Scalars.size() == VF && VF != CommonVF) { in createShuffle()
7628 VF = std::max<unsigned>(VF, CommonMask.size()); in add()
7631 VF = std::max(VF, InTE->getVectorFactor()); in add()
7650 VF = std::min(VF, MaskVF); in gather()
10300 VF = std::max(VF, SubVecVF); in adjustExtracts()
13435 if (!isPowerOf2_32(Sz) || !isPowerOf2_32(VF) || VF < 2 || VF < MinVF) in vectorizeStoreChain()
13775 for (unsigned VF = MaxVF; NextInst + 1 < MaxInst && VF >= MinVF; VF /= 2) { in tryToVectorizeList() local
[all …]
H A DLoopVectorizationPlanner.h348 VPlan &getBestPlanFor(ElementCount VF) const;
364 executePlan(ElementCount VF, unsigned UF, VPlan &BestPlan,
375 bool hasPlanWithVF(ElementCount VF) const { in hasPlanWithVF() argument
377 [&](const VPlanPtr &Plan) { return Plan->hasVF(VF); }); in hasPlanWithVF()
439 bool isCandidateForEpilogueVectorization(const ElementCount VF) const;
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZTargetTransformInfo.cpp528 unsigned VF = VTy->getNumElements(); in getArithmeticInstrCost() local
542 return VF * DivMulSeqCost + in getArithmeticInstrCost()
569 (VF * ScalarCost) + in getArithmeticInstrCost()
573 if (VF == 2) in getArithmeticInstrCost()
591 if (VF == 2 && ScalarBits == 32) in getArithmeticInstrCost()
734 if (VF == 1) { in getCmpOpsType()
753 unsigned VF = DstVTy->getNumElements(); in getBoolVecToIntConversionCost() local
925 return VF /*ldxbr/lexbr*/ + in getCastInstrCost()
929 return VF / 2 /*vledb*/ + std::max(1U, VF / 4 /*vperm*/); in getCastInstrCost()
937 return VF * 2; in getCastInstrCost()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DVectorUtils.h82 std::optional<ElementCount> VF = std::nullopt) {
88 if (!VF || Info.Shape.VF == *VF)
139 inline Type *ToVectorTy(Type *Scalar, unsigned VF) { in ToVectorTy() argument
140 return ToVectorTy(Scalar, ElementCount::getFixed(VF)); in ToVectorTy()
324 Constant *createBitMaskForGaps(IRBuilderBase &Builder, unsigned VF,
340 unsigned VF);
353 llvm::SmallVector<int, 16> createInterleaveMask(unsigned VF, unsigned NumVecs);
368 unsigned VF);
H A DTargetLibraryInfo.h201 bool isFunctionVectorizable(StringRef F, const ElementCount &VF) const { in isFunctionVectorizable() argument
202 return !(getVectorizedFunction(F, VF, false).empty() && in isFunctionVectorizable()
203 getVectorizedFunction(F, VF, true).empty()); in isFunctionVectorizable()
212 StringRef getVectorizedFunction(StringRef F, const ElementCount &VF,
218 const VecDesc *getVectorMappingInfo(StringRef F, const ElementCount &VF,
395 bool isFunctionVectorizable(StringRef F, const ElementCount &VF) const { in isFunctionVectorizable() argument
396 return Impl->isFunctionVectorizable(F, VF); in isFunctionVectorizable()
401 StringRef getVectorizedFunction(StringRef F, const ElementCount &VF,
403 return Impl->getVectorizedFunction(F, VF, Masked);
405 const VecDesc *getVectorMappingInfo(StringRef F, const ElementCount &VF, in getVectorMappingInfo() argument
[all …]
H A DTargetTransformInfo.h1155 unsigned getStoreMinimumVF(unsigned VF, Type *ScalarMemTy,
1226 unsigned getMaxInterleaveFactor(ElementCount VF) const;
1377 int VF,
1611 ElementCount VF) const;
1618 unsigned getLoadVectorFactor(unsigned VF, unsigned LoadSize,
1965 virtual unsigned getMaxInterleaveFactor(ElementCount VF) = 0;
2519 unsigned getStoreMinimumVF(unsigned VF, Type *ScalarMemTy, in getStoreMinimumVF() argument
2575 unsigned getMaxInterleaveFactor(ElementCount VF) override { in getMaxInterleaveFactor() argument
2576 return Impl.getMaxInterleaveFactor(VF); in getMaxInterleaveFactor()
2791 return Impl.isLegalToVectorizeReduction(RdxDesc, VF); in isLegalToVectorizeReduction()
[all …]
H A DTargetTransformInfoImpl.h481 unsigned getStoreMinimumVF(unsigned VF, Type *, Type *) const { return VF; } in getStoreMinimumVF() argument
525 unsigned getMaxInterleaveFactor(ElementCount VF) const { return 1; } in getMaxInterleaveFactor() argument
655 unsigned getReplicationShuffleCost(Type *EltTy, int ReplicationFactor, int VF, in getReplicationShuffleCost() argument
871 ElementCount VF) const { in isLegalToVectorizeReduction() argument
877 unsigned getLoadVectorFactor(unsigned VF, unsigned LoadSize, in getLoadVectorFactor() argument
880 return VF; in getLoadVectorFactor()
883 unsigned getStoreVectorFactor(unsigned VF, unsigned StoreSize, in getStoreVectorFactor() argument
886 return VF; in getStoreVectorFactor()
1334 int ReplicationFactor, VF; in getInstructionCost() local
1335 if (Shuffle->isReplicationMask(ReplicationFactor, VF)) { in getInstructionCost()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64TargetTransformInfo.h151 unsigned getMaxNumElements(ElementCount VF) const { in getMaxNumElements() argument
152 if (!VF.isScalable()) in getMaxNumElements()
153 return VF.getFixedValue(); in getMaxNumElements()
155 return VF.getKnownMinValue() * ST->getVScaleForTuning(); in getMaxNumElements()
158 unsigned getMaxInterleaveFactor(ElementCount VF);
381 ElementCount VF) const;
417 unsigned getStoreMinimumVF(unsigned VF, Type *ScalarMemTy, in getStoreMinimumVF() argument
420 if (ScalarMemTy->isIntegerTy(8) && isPowerOf2_32(VF) && VF >= 4) in getStoreMinimumVF()
423 return BaseT::getStoreMinimumVF(VF, ScalarMemTy, ScalarValTy); in getStoreMinimumVF()
/freebsd-14.2/contrib/llvm-project/llvm/lib/IR/
H A DVFABIDemangler.cpp95 unsigned VF = 0; in tryParseVLEN() local
96 if (ParseString.consumeInteger(10, VF)) in tryParseVLEN()
100 if (VF == 0) in tryParseVLEN()
103 ParsedVF = {VF, false}; in tryParseVLEN()
551 ElementCount VF = Info.Shape.VF; in createFunctionType() local
556 VectorType::get(Type::getInt1Ty(ScalarFTy->getContext()), VF); in createFunctionType()
563 OperandTy = VectorType::get(OperandTy, VF); in createFunctionType()
569 RetTy = VectorType::get(RetTy, VF); in createFunctionType()
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/IR/
H A DVFABIDemangler.h83 ElementCount VF; // Vectorization factor. member
87 return std::tie(VF, Parameters) == std::tie(Other.VF, Other.Parameters);
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86InterleavedAccess.cpp439 int VF = VT.getVectorNumElements(); in createShuffleStride() local
442 for (int i = 0, LaneSize = VF / LaneCount; i != LaneSize; ++i) in createShuffleStride()
452 int VF = VT.getVectorNumElements() / std::max(VectorSize / 128, 1); in setGroupSize() local
454 int GroupSize = std::ceil((VF - FirstGroupElement) / 3.0); in setGroupSize()
456 FirstGroupElement = ((GroupSize)*3 + FirstGroupElement) % VF; in setGroupSize()
611 int VF = VT.getVectorNumElements(); in group2Shuffle() local
615 IndexGroup[(Index * 3) % (VF / Lane)] = Index; in group2Shuffle()
619 for (int i = 0; i < VF / Lane; i++) { in group2Shuffle()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVTargetTransformInfo.h272 ElementCount VF) const { in isLegalToVectorizeReduction() argument
273 if (!VF.isScalable()) in isLegalToVectorizeReduction()
301 unsigned getMaxInterleaveFactor(ElementCount VF) { in getMaxInterleaveFactor() argument
303 if (VF.isScalable()) in getMaxInterleaveFactor()
307 return VF.isScalar() ? 1 : ST->getMaxInterleaveFactor(); in getMaxInterleaveFactor()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Analysis/
H A DVectorUtils.cpp492 for (int Idx = 0, VF = FirstMask.size(); Idx < VF; ++Idx) { in processShuffleMasks() local
496 FirstMask[Idx] = SecondMask[Idx] + VF; in processShuffleMasks()
501 for (int Idx = 0, VF = Mask.size(); Idx < VF; ++Idx) { in processShuffleMasks() local
832 llvm::createBitMaskForGaps(IRBuilderBase &Builder, unsigned VF, in createBitMaskForGaps() argument
842 for (unsigned i = 0; i < VF; i++) in createBitMaskForGaps()
852 llvm::createReplicatedMask(unsigned ReplicationFactor, unsigned VF) { in createReplicatedMask() argument
854 for (unsigned i = 0; i < VF; i++) in createReplicatedMask()
861 llvm::SmallVector<int, 16> llvm::createInterleaveMask(unsigned VF, in createInterleaveMask() argument
864 for (unsigned i = 0; i < VF; i++) in createInterleaveMask()
866 Mask.push_back(j * VF + i); in createInterleaveMask()
[all …]
H A DTargetLibraryInfo.cpp1229 #define TLI_DEFINE_VECFUNC(SCAL, VEC, VF, VABI_PREFIX) \ in addVectorizableFunctionsFromVecLib() argument
1230 {SCAL, VEC, VF, /* MASK = */ false, VABI_PREFIX}, in addVectorizableFunctionsFromVecLib()
1236 {SCAL, VEC, VF, /* MASK = */ false, VABI_PREFIX}, in addVectorizableFunctionsFromVecLib()
1242 {SCAL, VEC, VF, MASK, VABI_PREFIX}, in addVectorizableFunctionsFromVecLib()
1262 {SCAL, VEC, VF, MASK, VABI_PREFIX}, in addVectorizableFunctionsFromVecLib()
1292 const ElementCount &VF, in getVectorizedFunction() argument
1294 const VecDesc *VD = getVectorMappingInfo(F, VF, Masked); in getVectorizedFunction()
1309 if ((I->getVectorizationFactor() == VF) && (I->isMasked() == Masked)) in getVectorMappingInfo()
1386 ElementCount *VF = in getWidestVF() local
1388 if (ElementCount::isKnownGT(I->getVectorizationFactor(), *VF)) in getWidestVF()
[all …]
H A DTargetTransformInfo.cpp748 unsigned TargetTransformInfo::getStoreMinimumVF(unsigned VF, Type *ScalarMemTy, in getStoreMinimumVF() argument
750 return TTIImpl->getStoreMinimumVF(VF, ScalarMemTy, ScalarValTy); in getStoreMinimumVF()
802 unsigned TargetTransformInfo::getMaxInterleaveFactor(ElementCount VF) const { in getMaxInterleaveFactor()
803 return TTIImpl->getMaxInterleaveFactor(VF); in getMaxInterleaveFactor()
1006 Type *EltTy, int ReplicationFactor, int VF, const APInt &DemandedDstElts, in getReplicationShuffleCost() argument
1009 EltTy, ReplicationFactor, VF, DemandedDstElts, CostKind); in getReplicationShuffleCost()
1216 const RecurrenceDescriptor &RdxDesc, ElementCount VF) const { in isLegalToVectorizeReduction()
1217 return TTIImpl->isLegalToVectorizeReduction(RdxDesc, VF); in isLegalToVectorizeReduction()
1224 unsigned TargetTransformInfo::getLoadVectorFactor(unsigned VF, in getLoadVectorFactor() argument
1228 return TTIImpl->getLoadVectorFactor(VF, LoadSize, ChainSizeInBytes, VecTy); in getLoadVectorFactor()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DR600TargetTransformInfo.cpp85 unsigned R600TTIImpl::getMaxInterleaveFactor(ElementCount VF) { in getMaxInterleaveFactor() argument
88 if (VF.isScalar()) in getMaxInterleaveFactor()
H A DAMDGPUTargetTransformInfo.h124 unsigned getLoadVectorFactor(unsigned VF, unsigned LoadSize,
127 unsigned getStoreVectorFactor(unsigned VF, unsigned StoreSize,
150 unsigned getMaxInterleaveFactor(ElementCount VF);
/freebsd-14.2/tools/tools/vop_table/
H A Dvop_table.pl167 @VF = <V>;
176 foreach $v (@VF) {
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/
H A DPPCMCTargetDesc.h263 static const MCPhysReg VFRegs[32] = PPC_REGS0_31(PPC::VF); \
268 static const MCPhysReg VSFRegs[64] = PPC_REGS_LO_HI(PPC::F, PPC::VF); \
269 static const MCPhysReg VSSRegs[64] = PPC_REGS_LO_HI(PPC::F, PPC::VF); \

1234