altcode (noaltcode). STMicroelectronics PGI
Реклама
Реклама
PGI Proprietary Fortran Directive and C/C++ Pragma Summary
Directives and pragmas override corresponding command-line options. For usage information such as the
scope and related command-line options, refer to Chapter 8, “
.
altcode (noaltcode)
The altcode
directive or pragma instructs the compiler to generate alternate code for vectorized or parallelized loops.
The noaltcode
directive or pragma disables generation of alternate code.
Scope:
This directive or pragma affects the compiler only when
–Mvect=sse
or
–Mconcur
is enabled on the command line.
cpgi$ altcode
Enables alternate code (altcode) generation for vectorized loops. For each loop the compiler decides whether to generate altcode and what type(s) to generate, which may be any or all of: altcode without iteration peeling, altcode with non-temporal stores and other data cache optimizations, and altcode based on array alignments calculated dynamically at runtime. The compiler also determines suitable loop count and array alignment conditions for executing the alternate code.
cpgi$ altcode alignment
For a vectorized loop, if possible, generates an alternate vectorized loop containing additional aligned moves which is executed if a runtime array alignment test is passed.
cpgi$ altcode [(n)] concur
For each auto-parallelized loop, generates an alternate serial loop to be executed if the loop count is less than or equal to n. If n is omitted or n is 0, the compiler determines a suitable value of n for each loop.
cpgi$ altcode [(n)] concurreduction
Sets the loop count threshold for parallelization of reduction loops to n. For each auto-parallelized reduction loop, generate an alternate serial loop to be executed if the loop count is less than or equal to n.
If n is omitted or n is 0, the compiler determines a suitable value of n for each loop.
cpgi$ altcode [(n)] nontemporal
For a vectorized loop, if possible, generates an alternate vectorized loop containing non-temporal stores and other cache optimizations to be executed if the loop count is greater than n. If n is omitted or n is 1, the compiler determines a suitable value of n for each loop. The alternate code is optimized for the case when the data referenced in the loop does not all fit in level 2 cache.
cpgi$ altcode [(n)] nopeel
For a vectorized loop where iteration peeling is performed by default, if possible, generates an alternate vectorized loop without iteration peeling to be executed if the loop count is less than or equal to n. If n is omitted or n is 1, the compiler determines a suitable value of n for each loop, and in some cases it may decide not to generate an alternate unpeeled loop.
cpgi$ altcode [(n)] vector
For each vectorized loop, generates an alternate scalar loop to be executed if the loop count is less than or equal to n. If n is omitted or n is 1, the compiler determines a suitable value of n for each loop.
344
Скачать
Реклама