Vector Optimization Options

Details on vector optimization options.

-h concurrent

The -h concurrent option indicates that no data dependence exists between array references of the same loop, for every loop in the file. This can be useful for vectorization optimizations. Equivalent to adding a  CONCURRENT pragma before every loop in the file, including loops created from array syntax.

-h vectorn

Default: vector2

The vectorn option specifies the level of automatic vectorizing to be performed. Vectorization results in significant performance improvements with a small increase in object code size. Vectorization directives are unaffected by this option. The values for n:
0
No automatic vectorization. Characteristics include low compile time and small compile size. This option is compatible with all scalar optimization levels.
1
Specifies conservative vectorization. Characteristics include moderate compile time and size. Loop nests are restructured. No vectorizations that might create false exceptions are performed. Results may differ slightly from results obtained when -h vector0 is specified because of vector reductions. The -h vector1 option is compatible with -h scalar1-h scalar2, and -h scalar3.
2
Specifies moderate vectorization. Characteristics include moderate compile time and size. Loop nests are restructured. Compatible with -h scalar2 and -h scalar3.
3
Specifies aggressive vectorization. Characteristics include potentially high compile time and size. Loop nests are restructured. Vectorizations that might create false exceptions in rare cases may be performed.

-h [no]preferred_vector_width[=[64 | 128 | 256 | 512]]

Specifies the preferred vector width to use when vectorizing loops. This option does not guarantee that the specified vector width will be used, only that it is preferred. The optimizer is still free to choose a smaller width if it is expected to perform better. As the set of acceptable width is target-sensitive and fairly complicated, the optimizer diagnoses any illegal values.

A value is not required when specifying nopreferred_vector_width.