5.7.7.7 Align-labels Option
The -falign-labels=n
option aligns all branch targets
to the next power-of-two greater than
n
,
skipping up to n
bytes. For
instance, -falign-labels=8
aligns functions to the next 8-byte
boundary; -falign-functions=9
aligns functions to the next 16-byte
boundary but only if this can be done by skipping no more than 9 bytes.
This option can easily make code slower, because it must insert dummy operations for when the branch target is reached in the usual flow of the code.
If the options -falign-loops
or -falign-jumps
have been used
and either of their arguments are greater than n
, then
their argument values are used to determine the label alignment instead.
This option is automatically enabled at optimization levels -O2
and
-O3
.
The -fno-align-labels
form of this option is equivalent to
-falign-labels=1
and implies that functions are not aligned. The
-falign-labels
form of this option (with no argument) also performs
no alignment.