Provides the ability to vectorize user-defined functions and loops.
- Is one of the following:processor clause, in the formprocessor(cpuid). This clause creates a vector version of the function for the given target processor (cpuid).See cpu_dispatch, cpu_specific for a list of supported values.The default processor is determined by the implicit or explicit process- or architecture-specific flag in the compiler command line.vector length clause, in the formvectorlength(n), wherenis a vectorlength (vl) and must be an integer with the value 2, 4, 8, or 16. This clause tells the compiler that each routine invocation at the call site should execute the computation equivalent tontimes the scalar function execution.linear clause, in the formlinear(param1:step1 [, param2:step2]…), whereparamis a scalar variable andstepis a compile-time integer constant expression. This clause tells the compiler that for each consecutive invocation of the routine in a serial execution, the value ofparam1is incremented bystep1,param2is incremented bystep2, and so on. If more than one step is specified for a particular variable, a compile-time error occurs. Multiple linear clauses are merged as a union.uniform clause, in the formuniform(param [, param,]…), where param is a formal parameter of the specified function. This clause tells the compiler that the values of the specified arguments can be broadcast to all iterations as a performance optimization.mask clause, in the form[no]mask. This clause tells the compiler to generate a masked vector version of the routine.