HP Pascal/HP-UX Release Notes Version A.10.08

18 Chapter 1
New and Changed Features
Optimization Parameters
+O[no]libcalls
Levels 0, 1, 2, 3, 4
+Olibcalls invokes faster versions of a number of frequently
called intrinsic functions. It also moves invariant function
expressions out of loops.
The sqrt function is executed as a hardware instruction. If the
code is compiled for the PA-RISC 1.0 architecture (e.g., with
+DA1.1), the following functions are executed in millicode:
arctan cos exp ln sin
The millicode versions have very low call overhead. However,
since they do not set errno, no error handling is available in the
event of an exception. Regardless of architecture, error codes 627
(sqrt) and 628 (ln) will not occur. An IEEE exception is raised
instead.
Use this parameter only when your program is not dependent on
exception-handling. The default is +Onolibcalls.
+O[no]loop_unroll
[=unroll factor]
Levels 2, 3, 4
The +Oloopunroll option turns on loop unrolling. When you
use +Oloopunroll, you can also use the unroll factor to control
the code expansion. The default unroll factor is 4, that is, four
copies of the loop body. By experimenting with different factors,
you may improve the performance of your program.
The default is +Oloopunroll.
+O[no]moveflops
Levels 2, 3, 4
+Omoveflops moves conditional floating point instructions out
of loops. The behavior of floating-point exception handling may
be altered by this parameter.
Use +Onomoveflops if floating-point traps are enabled and you
do not want the behavior of floating-point exceptions to be
altered by the relocation of floating-point instructions. This is the
same as $ASSUME 'FLOAT_TRAPS_ON'$.
The default is +Omoveflops.
+O[no]pipeline
Levels 2, 3, 4
+Opipeline enables software pipelining.
Use +Onopipeline (disable software pipelining) to conserve
code space.
The default is +Opipeline.
Advanced Option Optimization Performed