Enforces vectorization of loops.
- Can be any of the following:
- Wherenis a vector length (VL). It must be an integer that is a power of 2; the value must be 2, 4, 8, or 16. If you specify more than onen, the vectorizor will choose the VL from the values specified.Causes each iteration in the vector loop to execute the computation equivalent toniterations of scalar loop execution. Multiplevectorlengthclauses are merged as a union.
- vectorlengthfor(data type)
- Wheredata typemust be one of built-in integer types (8-, 16-, 32-, or 64-bit), pointer types (treated as pointer-sized integer), floating point types (32- or 64-bit), or complex types (64- or 128-bit). Otherwise, behavior is undefined.Causes each iteration in the vector loop to execute the computation equivalent toniterations of scalar loop execution wherenis computed fromsize_of_vector_register/sizeof(.data type)For example,vectorlengthfor(float)results inn=4for Intel® Streaming SIMD Extensions (Intel® SSE2) to Intel SSE4.2 targets (packed float operations available on 128bit XMM registers) andn=8for an Intel® Advanced Vector Extensions (Intel® AVX) target (packed float operations available on 256bit YMM registers).vectorlengthfor(int)results inn=4for Intel SSE2 to Intel AVX targets.vectorlength()and