Visible to Intel only — GUID: GUID-C2D70038-AED3-4E15-9B1A-0D9C24D9D714
Visible to Intel only — GUID: GUID-C2D70038-AED3-4E15-9B1A-0D9C24D9D714
Intel-Specific Pragma Reference
Pragmas specific to the Intel® C++ Compiler Classic are listed in the following table.
Some pragmas are available for both Intel® microprocessors and non-Intel microprocessors, but may perform additional optimizations for Intel® microprocessors than for non-Intel microprocessors.
Pragma |
Description |
---|---|
Allocates one or more variables in the specified section. Controls section attribute specification for variables. |
|
Enables or disables loop blocking for the immediately following nested loops. block_loop enables loop blocking for the nested loops. noblock_loop disables loop blocking for the nested loops. |
|
Specifies the byte alignment for a loop |
|
Instructs the compiler to prefer loop distribution at the location indicated. |
|
Specifies inlining of all calls in a statement. This also describes pragmas forceinline and noinline. |
|
For Intel legacy tasking, specifies a unit of work, potentially executed by a different thread. |
|
For Intel legacy tasking, specifies an environment for the while loop in which to queue the units of work specified by the enclosed task pragma. |
|
Instructs the compiler to ignore assumed vector dependencies. |
|
Specifies the iterations for a for loop. |
|
Prevents a loop from fusing with adjacent loops. |
|
Specifies that a particular loop should never be vectorized. |
|
Extends #pragma omp simd, allowing vectorization of multiple exit loops. |
|
Controls optimization for one function or all functions after its first occurrence. |
|
Passes certain information about a function to the optimizer. |
|
Enables or disables optimizations for code after this pragma until another optimize pragma or end of the translation unit. |
|
Resolves dependencies to facilitate auto-parallelization of the immediately following loop (parallel) or prevents auto-parallelization of the immediately following loop (noparallel). |
|
Invites the compiler to issue or disable requests to prefetch data from memory. This pragma applies only to Intel® Advanced Vector Extensions 512 (Intel® AVX-512). |
|
Enforces vectorization of loops. |
|
Specifies a block of code in the SIMD loop or SIMD-enabled function that should be executed serially, in a logical order of SIMD lanes. |
|
Tells the compiler to unroll or not to unroll a counted loop. |
|
Enables or disables loop unrolling and jamming. These pragmas can only be applied to iterative for loops. |
|
Describes variables that are unused (warnings not generated). |
|
Tells the compiler that the loop should be vectorized according to the argument keywords. |
- alloc_section
Allocates one or more variables in the specified section. Controls section attribute specification for variables. - block_loop/noblock_loop
Enables or disables loop blocking for the immediately following nested loops. block_loop enables loop blocking for the nested loops. noblock_loop disables loop blocking for the nested loops. - code_align
Specifies the byte alignment for a loop - distribute_point
Instructs the compiler to prefer loop distribution at the location indicated. - inline, noinline, forceinline
Specifies inlining of all calls in a statement. This also describes pragmas forceinline and noinline. - intel omp task
For Intel legacy tasking, specifies a unit of work, potentially executed by a different thread. - intel omp taskq
For Intel legacy tasking, specifies an environment for the while loop in which to queue the units of work specified by the enclosed task pragma. - ivdep
Instructs the compiler to ignore assumed vector dependencies. - loop_count
Specifies the iterations for a for loop. - nofusion
Prevents a loop from fusing with adjacent loops. - novector
Specifies that a particular loop should never be vectorized. - omp simd early_exit
Extends #pragma omp simd, allowing vectorization of multiple exit loops. - optimize
Enables or disables optimizations for code after this pragma until another optimize pragma or end of the translation unit. - optimization_level
Controls optimization for one function or all functions after its first occurrence. - optimization_parameter
Passes certain information about a function to the optimizer. - parallel/noparallel
Resolves dependencies to facilitate auto-parallelization of the immediately following loop (parallel) or prevents auto-parallelization of the immediately following loop (noparallel). - prefetch/noprefetch
Invites the compiler to issue or disable requests to prefetch data from memory. This pragma applies only to Intel® Advanced Vector Extensions 512 (Intel® AVX-512). - simd
Enforces vectorization of loops. - simdoff
Specifies a block of code in the SIMD loop or SIMD-enabled function that should be executed serially, in a logical order of SIMD lanes. - unroll/nounroll
Tells the compiler to unroll or not to unroll a counted loop. - unroll_and_jam/nounroll_and_jam
Enables or disables loop unrolling and jamming. These pragmas can only be applied to iterative for loops. - unused
Describes variables that are unused (warnings not generated). - vector
Tells the compiler that the loop should be vectorized according to the argument keywords.