Visible to Intel only — GUID: GUID-0270AA57-BDB7-4AC4-A3E4-4D9F5554B561
Visible to Intel only — GUID: GUID-0270AA57-BDB7-4AC4-A3E4-4D9F5554B561
fvec-allow-scalar-stores, Qvec-allow-scalar-stores
Ensures vectorization of an explicit simd loop.
Syntax
Linux: |
-fvec-allow-scalar-stores -fno-vec-allow-scalar-stores |
Windows: |
/Qvec-allow-scalar-stores /Qvec-allow-scalar-stores- |
Arguments
None
Default
-fno-vec-allow-scalar-stores |
Vectorization of explicit simd loops is not ensured. |
Description
This option ensures vectorization of an explicit simd loop, such as one specified by OpenMP* directive SIMD.
This vectorization will occur even if the simd loop contains a store to a scalar variable that is not marked as private, lastprivate, or reduction.
The OpenMP* specification indicates that any store to a scalar variable in an explicit simd loop must be identified in the corresponding directive as either private, lastprivate, or reduction. Vectorization of a loop where this rule is violated may result in incorrect code being generated, especially if the scalar variable is reused within the loop. It is highly recommended that you follow the specification. However, if you are confident that this loop is safe to vectorize (i.e., you have received an incorrect error message), you can force vectorization to occur by specifying this option.
IDE Equivalent
Alternate Options
None
Example
The following shows examples of using this option:
Linux
ifx -O3 -fvec-allow-scalar-store -fopenmp simd.f90
Windows
ifx /O3 /Qvec-allow-scalar-store /Qopenmp simd.f90