Intel® oneAPI DPC++/C++ Compiler

Developer Guide and Reference

ID 767253
Date 3/31/2025
Public
Document Table of Contents

fvec-non-loop-argument-load, Qvec-non-loop-argument-load

Determines whether the non-loop vectorizer combines loads for optimization.

Syntax

Linux:

-fvec-non-loop-argument-load

-fno-vec-non-loop-argument-load

Windows:

/Qvec-non-loop-argument-load

/Qvec-non-loop-argument-load-

Arguments

None

Default

-fvec-non-loop-argument-load
or /Qvec-non-loop-argument-load

The non-loop vectorizer combines loads when profitable.

Description

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.

IDE Equivalent

None

Alternate Options

None

Examples

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