[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Guillaume Rousse on December, 12 2004 using texi2html