Intel® C++ Compiler XE 13.1 User and Reference Guides
The Intel-specific C++ compiler pragmas described in the Intel-Specific Pragma reference are listed below.
Some pragmas are available for both Intel® and non-Intel microprocessors but they may perform additional optimizations for Intel® microprocessors than they perform for non-Intel microprocessors.
Click on the pragmas for a more detailed description.
|
Pragma |
Description |
|---|---|
|
allocates variable in specified section |
|
|
specifies the grain size for one cilk_for loop |
|
|
instructs the compiler to prefer loop distribution at the location indicated |
|
|
instructs the compiler that the user prefers that the calls in question be inlined |
|
|
for Intel legacy tasking, specifies a unit of work, potentially executed by a different thread |
|
|
for Intel legacy tasking, specifies a unit of work, potentially executed by a different thread |
|
|
instructs the compiler to ignore assumed vector dependencies |
|
|
indicates what the loop count is likely to be |
|
|
Prevents a loop from fusing with adjacent loops |
|
|
specifies that the loop should never be vectorized |
|
|
causes the statement following the pragma to execute on the target; this pragma only applies to Intel® MIC Architecture. |
|
|
specifies that all functions and variables declared subsequent to the pragma are available on the coprocessor; this pragma only applies to Intel® MIC Architecture. |
|
|
initiates asynchronous data transfer, or initiates and completes synchronous data transfer; this pragma only applies to Intel® MIC Architecture. |
|
|
specifies a wait for a previously initiated asynchronous activity; this pragma only applies to Intel® MIC Architecture. |
|
|
ensures that a specific memory location is updated atomically, which prevents the possibility of multiple, simultaneous reading and writing of threads |
|
|
defines a task region |
|
|
enables or disables optimizations for specific functions; provides some degree of compatibility with Microsoft's implementation of optimize pragma |
|
|
specifies a wait on the completion of child tasks generated since the beginning of the current task |
|
| enables [disables] optimizations for code after this pragma till another optimize pragma or end of the translation unit is encountered | |
|
indicates change of optimization from current line of the compilation unit |
|
|
tells the compiler to generate code specialized for a particular processor, at the function level, similar to the -m (/arch) option |
|
|
facilitates auto-parallelization of an immediately following loop; using keyword [always] forces the compiler to auto-parallelize; noparallel pragma prevents auto-parallelization |
|
|
asserts that the data prefetches are generated or not generated for some memory references; this pragma only applies to Intel® MIC Architecture. |
|
|
instructs the compiler to vectorize the loop below |
|
|
instructs the compiler the number of times to unroll/not to unroll a loop |
|
|
instructs the compiler to partially unroll higher loops and jam the resulting loops back together. Specifying the nounroll_and_jam pragma prevents unrolling and jamming of loops. |
|
|
describes variables that are unused (warnings not generated) |
|
|
indicates to the compiler that the loop should be vectorized according to the arguments: always/aligned/unaligned/nontemporal/temporal |