Visible to Intel only — GUID: GUID-197FE65C-470F-4979-87F3-3BC50D066D9F
Visible to Intel only — GUID: GUID-197FE65C-470F-4979-87F3-3BC50D066D9F
optimization_parameter
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.
Examples
This example shows targeting code for Intel® Advanced Vector Extensions (Intel® AVX) processors:
For C++:
icc -mAVX foo.c // on Linux andmacOS
-mAVX foo.c // on Linux and macOS
This example code targets just the function bar for Intel® AVX processors, regardless of the command line options used:
#pragma intel optimization_parameter target_arch=AVX
void bar() { ... }