These options are supported for Xtensa targets:
CONST16instructions for loading constant values. The
CONST16instruction is currently not a standard option from Tensilica. When enabled,
CONST16instructions are always used in place of the standard
L32Rinstructions. The use of
CONST16is enabled by default only if the
L32Rinstruction is not available.
-mno-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
-mtext-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.
-mtarget-align. These options do not affect the treatment of auto-aligned instructions like
LOOP, which the assembler will always align, either by widening density instructions or by inserting no-op instructions.
CALLinstruction into an
L32Rfollowed by a
CALLXinstruction. The default is
-mno-longcalls. This option should be used in programs where the call target can potentially be out of range. This option is implemented in the assembler, not the compiler, so the assembly code generated by GCC will still show direct call instructions--look at the disassembled object code to see the actual instructions. Note that the assembler will use an indirect call for every cross-file call, not just those that really will be out of range.