Technical data

Cray Standard C/C++ Reference Manual
2.13.3 -h [no]align (CC, cc)
Default option: -h noalign
(UNICOS systems) The -h align option specifies that all functions defined in
the file are to be automatically aligned on instruction buffer boundaries. This
alignment can significantly improve performance for small, frequently called
functions. With -h noalign, automatic function alignment is not done.
To control alignment of functions individually, use the align directive. For
more information on the align directive and function alignment, see Section
3.10.1, page 87.
2.13.4 -h [no]bl (CC, cc)
Default option: -h nobl
The -h bl option specifies a faster, but potentially unsafe, form of bottom
loading. -h nobl dictates that this technique is not used. This option is affected
by the scalar optimization level (see Section 2.13.2, page 23).
2.13.5 -h [no]reduction (CC, cc)
Default option: -h reduction
On UNICOS systems, the -h reduction option instructs the compiler to
enable vectorization of all reduction loops. On UNICOS/mk systems, the
-h reduction option instructs the compiler to rewrite some multiplication
operations to be a series of addition operations. With -h noreduction, these
optimizations are not done. This option is affected by the -h scalar
n option
(see Section 2.13.2, page 23). Reduction loops and the noreduction directive are
discussed in Section 3.10.6, page 93.
2.13.6 -h [no]zeroinc (CC, cc)
Default option: -h nozeroinc
The -h nozeroinc option improves run-time performance by causing the
compiler to assume that constant increment variables (CIVs) in loops are not
incremented by expressions with a value of 0.
The -h zeroinc option causes the compiler to assume that some CIVs in
loops might be incremented by 0 for each pass through the loop, preventing
generation of optimized code. For example, in a loop with index i, the expression
expr in the statement i += expr can evaluate to 0. This rarely happens in actual
24 S217936