# 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() { ... }

Parent topic: Intel-Specific Pragma Reference