as: Xtensa Opcodes
9.54.2.1 Opcode Names
.....................
See the 'Xtensa Instruction Set Architecture (ISA) Reference Manual' for
a complete list of opcodes and descriptions of their semantics.
If an opcode name is prefixed with an underscore character ('_'),
'as' will not transform that instruction in any way. The underscore
DONTPRINTYET prefix disables both optimization (Xtensa Optimizations Xtensa
Optimizations.) and relaxation (*noteXtensa Relaxation: Xtensa
DONTPRINTYET prefix disables both optimization (Xtensa Optimizations Xtensa
Optimizations.) and relaxation (Xtensa Relaxation Xtensa
Relaxation.) for that particular instruction. Only use the underscore
prefix when it is essential to select the exact opcode produced by the
assembler. Using this feature unnecessarily makes the code less
efficient by disabling assembler optimization and less flexible by
disabling relaxation.
Note that this special handling of underscore prefixes only applies
to Xtensa opcodes, not to either built-in macros or user-defined macros.
When an underscore prefix is used with a macro (e.g., '_MOV'), it refers
to a different macro. The assembler generally provides built-in macros
both with and without the underscore prefix, where the underscore
versions behave as if the underscore carries through to the instructions
in the macros. For example, '_MOV' may expand to '_MOV.N'.
The underscore prefix only applies to individual instructions, not to
series of instructions. For example, if a series of instructions have
underscore prefixes, the assembler will not transform the individual
instructions, but it may insert other instructions between them (e.g.,
to align a 'LOOP' instruction). To prevent the assembler from modifying
a series of instructions as a whole, use the 'no-transform' directive.
transform Transform Directive.