8.33.1 Command Line Options
The Xtensa version of the GNU assembler supports these
special options:
--density | --no-density
-
Enable or disable use of the Xtensa code density option (16-bit
instructions). See section Using Density Instructions. If the processor is configured with the density option,
this is enabled by default; otherwise, it is always disabled.
--relax | --no-relax
-
Enable or disable relaxation of instructions with immediate operands
that are outside the legal range for the instructions. See section Xtensa Relaxation. The default is `--relax' and this
default should almost always be used. If relaxation is disabled with
`--no-relax', instruction operands that are out of range will cause
errors. Note: In the current implementation, these options also control
whether assembler optimizations are performed, making these options
equivalent to `--generics' and `--no-generics'.
--generics | --no-generics
-
Enable or disable all assembler transformations of Xtensa instructions,
including both relaxation and optimization. The default is
`--generics'; `--no-generics' should only be used in the rare
cases when the instructions must be exactly as specified in the assembly
source.
As with `--no-relax', using `--no-generics'
causes out of range instruction operands to be errors.
--text-section-literals | --no-text-section-literals
-
Control the treatment of literal pools. The default is
`--no-text-section-literals', which places literals in a
separate section in the output file. This allows the literal pool to be
placed in a data RAM/ROM, and it also allows the linker to combine literal
pools from separate object files to remove redundant literals and
improve code size. With `--text-section-literals', the
literals are interspersed in the text section in order to keep them as
close as possible to their references. This may be necessary for large
assembly files.
--target-align | --no-target-align
-
Enable or disable automatic alignment to reduce branch penalties at some
expense in code size. See section Automatic Instruction Alignment. This optimization is enabled by default. Note
that the assembler will always align instructions like
LOOP
that
have fixed alignment requirements.
--longcalls | --no-longcalls
-
Enable or disable transformation of call instructions to allow calls
across a greater range of addresses. See section Function Call Relaxation. This option should be used when call
targets can potentially be out of range, but it degrades both code size
and performance. The default is `--no-longcalls'.
This document was generated
by Guillaume Rousse on December, 12 2004
using texi2html