Chapter 42.
Xtensa Dependent Features
This chapter covers features of the gnu assembler that are specific to the Xtensa architecture. For
details about the Xtensa instruction set, please consult the [Xtensa Instruction Set Architecture (ISA)
Reference Manual].
42.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). Section 42.3.1
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 le
gal range for the instructions. Section 42.4 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 op
tions also control whether assembler optimizations are performed, making these options equiva
lent to
generics
and
no generics
.
generics | no generics
Enable or disable all assembler transformations of Xtensa instructions, including both relax
ation 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.
Section 42.3.2 Automatic Instruction Alignment. This optimization is enabled by default. Note
that the assembler will always align instructions like
LOOP
that have fixed alignment require
ments.
longcalls | no longcalls
Enable or disable transformation of call instructions to allow calls across a greater range of
addresses. Section 42.4.2 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
.
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved