HP Fortran Programmer Guide HP-UX 11i v1, HP-UX 11i v2, and HP-UX 11i v3 (B3908-90032,December 2012)
Selects the +Ofastoption at optimization level +O3for
PA-RISC based architectures. For Itanium processor
+Ofaster
family architectures, +Ofasterruns at +O4and implies
-ipo.
Inform the compiler that the program accesses [does
not access] the floating point environment to test flags
+O[no]fenvaccess
or run under non-default modes. If it knows that a
program does not access the floating point
environment, the compiler is allowed to perform certain
optimizations that it otherwise may not perform, such
as global common subexpression elimination, code
motion, or constant folding.
The default is +Onofenvaccess.
+Ofastaccessimproves execution time by speeding
up access to global data items. You can use this option
+O[no]fastaccess
at optimization level 1 or higher. Note that the
+Ofastaccessoption may increase link time. The
default is +Onofastaccessat optimization levels 1,
2, and 3; and +Ofastaccessat optimization level
4.
NOTE: This option is valid only on
+Onofltaccenables optimizations that follow the
rules of algebra but may change the order of
+O[no]fltacc
expression evaluation. For example, if a, b, and c are
floating-point variables, the expressions (a + b) +
cand a + (b + c)may give slightly different results
due to roundoff.
The +Onofltaccoption also enables the fusion of
adjacent multiply and add operations—resulting in
Fused Multiply-Add (FMA). (At optimization level 2 or
higher, FMA occurs by default.) FMA improves
performance but occasionally produces results that
may differ in accuracy from results produced by code
where fusion has not occurred. In general, the
differences are slight.
+Ofltaccdisables optimizations that change the order
of expression evaluation and therefore may affect the
accuracy of the result. The +Ofltaccoption also
disables fusing.
NOTE: +Ofltaccis the same as
+Ofltacc=strict. +Onofltaccis the same as
+Ofltacc=relaxed.
Table 2-9 identifies the different actions taken by the
optimizer, according to whether you specify
+Ofltacc, +Onofltacc, or neither option. In all
cases, the table assumes that you are compiling at
optimization level 2 (+O2) or higher.
Table 18 Optimizations performed by +O[no]fltacc
FMA?Expression reordering?+O[no]fltacc
YesNo
NoNo+Ofltacc
YesYes+Onofltacc
Control the level of floating point
optimizations that the compiler may
+O[no]fltacc=[strict|default|limited|relaxed]
Fine-tuning optimization options 41