Passes certain information about a function to the optimizer.
Linux* and macOS*:
#pragma intel optimization_parameter target_arch=<CPU> |
#pragma intel optimization_parameter inline-max-total-size=n |
#pragma intel optimization_parameter inline-max-per-routine=n |
Windows*:
#pragma [intel] optimization_parameter target_arch=<CPU> |
#pragma [intel] optimization_parameter inline-max-total-size=n |
#pragma [intel] optimization_parameter inline-max-per-routine=n |
target_arch=<CPU> |
For the list of CPUs, see compiler options -m (or /arch) and [Q]x. |
inline-max-per-routine=n |
Specifies the maximum number of times the inliner may inline into the routine. n is one of the following:
For more information, see option [Q]inline-max-per-routine. |
inline-max-total-size=n |
Specifies how much larger a function can normally grow when inline expansion is performed. n is one of the following:
For more information, see option [Q]inline-max-total-size. |
The intel optimization_parameter target_arch pragma controls the -m (or /arch) option settings at the function level, overriding the option values specified at the command-line.
Place #pragma intel optimization_parameter target_arch=<CPU> at the head of a function to get the compiler to target that function for a specified instruction set. The pragma works like the -m (or /arch) and [Q]x options, but applies only to the function before which it is placed.
The pragmas intel optimization_parameter inline-max-total-size=n and intel optimization_parameter inline-max-per-routine=n specify information used during inlining into a function.
Example: Targeting code for Intel® Advanced Vector Extensions (Intel® AVX) processors |
---|
|
The following code targets just the function bar for Intel® AVX processors, regardless of the command line options used.
Example: Targeting a function for Intel® Advanced Vector Extensions (Intel® AVX) processors |
---|
|