HP aC++/HP C Programmer's Guide (B3901-90036; A.06.26; September 2011)

NOTE: Using a value that is too big or without the optional size, possibly through
+Ofast, may give various linker fix up errors, if there is more than 4Mb of short data.
+O[no]store_ordering
+O[no]store_ordering
The +O[no]store_ordering option preserves [does not preserve] the original program
order for stores to memory that is visible to multiple threads. This does not imply strong
ordering. The default is +Onostore_ordering.
+Otype_safety
+Otype_safety=kind
The +Otype_safety option controls type-based aliasing assumptions.
The defined values for kind are:
off The default. Specifies that aliasing can occur freely across types.
limited Code follows ANSI aliasing rules. Unnamed objects should be treated as
if they had an unknown type.
ansi Code follows ANSI aliasing rules. Unnamed objects should be treated the
same as named objects.
strong Code follows ANSI aliasing rules, except that accesses through lvalues
of a character type are not permitted to touch objects of other types and
field addresses are not to be taken.
The default is +Otype_safety=off.
+Ounroll_factor
+Ounroll_factor=n
The +Ounroll_factor option applies the unroll factor to all loops in the current
translation unit. You can apply an unroll factor which you think is best for the given loop
or apply no unrolling factor to the loop. If this option is not specified, the compiler uses
its own heuristics to determine the best unroll factor for the inner loop.
A user specified unroll factor will override the default unroll factor applied by the compiler.
Specifying n=1 will prevent the compiler from unrolling the loop.
Specifying n=0 allows the compiler to use its own heuristics to apply the unroll factor.
Code Optimizing Options 77