Align COMMON blocks and standard numerical sequence types, and generate faster multi-word load/stores .
This flag changes the data layout in COMMON blocks, numeric sequence types, and EQUIVALENCE classes, and enables the compiler to generate faster multi-word load/stores for that data.
The data layout effect is that of the -f flag: double- and quad-precision data in COMMON blocks and EQUIVALENCE classes are laid out in memory along their “natural” alignment, which is on 8-byte boundaries (or on 16-byte boundaries for quad-precision when compiling for 64-bit environments with -m64). The default alignment of data in COMMON blocks is on 4-byte boundaries. The compiler is also allowed to assume natural alignment and generate faster multi-word load/stores to reference the data.
Using -dalign along with -xtypemap=real:64,double:64,integer:64 also causes 64-bit integer variables to be double-word aligned on SPARC processors.
-dalign is a macro equivalent to:
-xmemalign=8s -aligncommon=16 on SPARC platforms
-aligncommon=8 on 32-bit x86 platforms
-aligncommon=16 on 64-bit x86 platforms.
If you compile one subprogram with -dalign, compile all subprograms of the program with -dalign. This option is included in the -fast option.
Note that because -dalign invokes -aligncommon, standard numeric sequence types are also affected by this option. See –aligncommon[={1|2|4|8|16}]