optimization_parameter

Passes certain information about a function to the optimizer.

Syntax

Linux*:

#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

Arguments

inline-max-per-routine=n

Specifies the maximum number of times the inliner may inline into the routine. n is one of the following:

  • A non-negative integer constant that specifies the maximum number of times the inliner may inline into the function. If you specify zero, no inlining is done into the function.

  • The keyword unlimited, which means that there is no limit to the number of times the inliner may inline into the function.

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:

  • A non-negative integer constant that specifies the permitted increase in the function's size when inline expansion is performed. If you specify zero, no inlining is done into the function.

  • The keyword unlimited, which means that there is no limit to the size a function may grow when inline expansion is performed.

Description

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 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

Example: Targeting code for Intel® Advanced Vector Extensions (Intel® AVX) processors

For C++: 

icx -mAVX foo.c   // on Linux*
For DPC++:
dpcpp -mAVX foo.c   // on Linux*

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

#pragma intel optimization_parameter target_arch=AVX
void bar() { ... }