De-aligning pointers might increase the code size, even on
CPUs with unaligned access support. This is because only a subset
of the load and store instructions benefit from unaligned access support.
The compiler is unable to use multiple-word transfers or coprocessor-memory transfers,
including hardware floating-point loads and stores, directly on
unaligned memory objects.
Note
Code size might increase significantly
when compiling for CPUs without hardware support for unaligned access,
for example, pre-v6 architectures.
This option does not affect the placement of objects
in memory, nor the layout and padding of structures.