[#llvm-VecDesc] = xref:llvm.adoc[llvm]::VecDesc :relfileprefix: ../ :mrdocs: Describes a scalar‐to‐vector function mapping for vectorization. == Synopsis Declared in `<llvm/Analysis/TargetLibraryInfo.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class VecDesc; ---- == Description Function 'VectorFnName' is equivalent to 'ScalarFnName' vectorized by a factor 'VectorizationFactor'. The VABIPrefix string holds information about isa, mask, vlen, and vparams so a scalar‐to‐vector mapping of the form: _ZGV<isa><mask><vlen><vparams>_<scalarname>(<vectorname>) can be constructed where: <isa> = "_LLVM_" <mask> = "M" if masked, "N" if no mask. <vlen> = Number of concurrent lanes, stored in the `VectorizationFactor` field of the `VecDesc` struct. If the number of lanes is scalable then 'x' is printed instead. <vparams> = "v", as many as are the numArgs. <scalarname> = the name of the scalar function. <vectorname> = the name of the vector function. == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/VecDesc/2constructor-04.adoc[`VecDesc`] [.small]#[constructor]# | Constructors | xref:llvm/VecDesc/getCallingConv.adoc[`getCallingConv`] | Return the optional calling convention for the vector function. | xref:llvm/VecDesc/getScalarFnName.adoc[`getScalarFnName`] | Return the name of the scalar function. | xref:llvm/VecDesc/getVABIPrefix.adoc[`getVABIPrefix`] | Return the vector function ABI variant prefix. | xref:llvm/VecDesc/getVectorFnName.adoc[`getVectorFnName`] | Return the name of the vector function. | xref:llvm/VecDesc/getVectorFunctionABIVariantString.adoc[`getVectorFunctionABIVariantString`] | Returns a vector function ABI variant string on the form: _ZGV<isa><mask><vlen><vparams>_<scalarname>(<vectorname>) | xref:llvm/VecDesc/getVectorizationFactor.adoc[`getVectorizationFactor`] | Return the vectorization factor for this mapping. | xref:llvm/VecDesc/isMasked.adoc[`isMasked`] | Return true if this mapping describes a masked vector function. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#