Determines whether the non-loop vectorizer combines loads for optimization.
Linux: | -fvec-non-loop-argument-load -fno-vec-non-loop-argument-load |
Windows: | /Qvec-non-loop-argument-load /Qvec-non-loop-argument-load- |
None
-fvec-non-loop-argument-load |
The non-loop vectorizer combines loads when profitable. |
When this option is set (default), the non-loop vectorizer combines loads when it appears to be profitable.
When this option is disabled, the non-loop vectorizer will not combine loads from an address passed as a parameter to the function being optimized when those loads are very near the beginning of the function. In rare cases, this is useful to prevent processor stalls when the function's caller has recently modified at least one of the same storage locations.
This option has no effect on the loop vectorizer.
None
The following shows examples of using this option:
Linux
icpx -O2 -c -fno-vec-non-loop-argument-load test.cpp -o test.o
Windows
icx -O2 -c /Qvec-non-loop-argument-load- test.cpp -o test.o