as: Xtensa Options

1 
1 9.55.1 Command Line Options
1 ---------------------------
1 
1 '--text-section-literals | --no-text-section-literals'
1      Control the treatment of literal pools.  The default is
1      '--no-text-section-literals', which places literals in separate
1      sections in the output file.  This allows the literal pool to be
1      placed in a data RAM/ROM. With '--text-section-literals', the
1      literals are interspersed in the text section in order to keep them
1      as close as possible to their references.  This may be necessary
1      for large assembly files, where the literals would otherwise be out
1      of range of the 'L32R' instructions in the text section.  Literals
1      are grouped into pools following '.literal_position' directives or
1      preceding 'ENTRY' instructions.  These options only affect literals
1      referenced via PC-relative 'L32R' instructions; literals for
11      absolute mode 'L32R' instructions are handled separately.  ⇒
      literal Literal Directive.
1 
1 '--auto-litpools | --no-auto-litpools'
1      Control the treatment of literal pools.  The default is
1      '--no-auto-litpools', which in the absence of
1      '--text-section-literals' places literals in separate sections in
1      the output file.  This allows the literal pool to be placed in a
1      data RAM/ROM. With '--auto-litpools', the literals are interspersed
1      in the text section in order to keep them as close as possible to
1      their references, explicit '.literal_position' directives are not
1      required.  This may be necessary for very large functions, where
1      single literal pool at the beginning of the function may not be
1      reachable by 'L32R' instructions at the end.  These options only
1      affect literals referenced via PC-relative 'L32R' instructions;
1      literals for absolute mode 'L32R' instructions are handled
1      separately.  When used together with '--text-section-literals',
11      '--auto-litpools' takes precedence.  ⇒literal Literal
      Directive.
1 
1 '--absolute-literals | --no-absolute-literals'
1      Indicate to the assembler whether 'L32R' instructions use absolute
1      or PC-relative addressing.  If the processor includes the absolute
1      addressing option, the default is to use absolute 'L32R'
1      relocations.  Otherwise, only the PC-relative 'L32R' relocations
1      can be used.
1 
1 '--target-align | --no-target-align'
1      Enable or disable automatic alignment to reduce branch penalties at
11      some expense in code size.  ⇒Automatic Instruction Alignment
      Xtensa Automatic Alignment.  This optimization is enabled by
1      default.  Note that the assembler will always align instructions
1      like 'LOOP' that have fixed alignment requirements.
1 
1 '--longcalls | --no-longcalls'
1      Enable or disable transformation of call instructions to allow
11      calls across a greater range of addresses.  ⇒Function Call
      Relaxation Xtensa Call Relaxation.  This option should be used
1      when call targets can potentially be out of range.  It may degrade
1      both code size and performance, but the linker can generally
1      optimize away the unnecessary overhead when a call ends up within
1      range.  The default is '--no-longcalls'.
1 
1 '--transform | --no-transform'
1      Enable or disable all assembler transformations of Xtensa
1      instructions, including both relaxation and optimization.  The
1      default is '--transform'; '--no-transform' should only be used in
1      the rare cases when the instructions must be exactly as specified
1      in the assembly source.  Using '--no-transform' causes out of range
1      instruction operands to be errors.
1 
1 '--rename-section OLDNAME=NEWNAME'
1      Rename the OLDNAME section to NEWNAME.  This option can be used
1      multiple times to rename multiple sections.
1 
1 '--trampolines | --no-trampolines'
1      Enable or disable transformation of jump instructions to allow
11      jumps across a greater range of addresses.  ⇒Jump Trampolines
      Xtensa Jump Relaxation.  This option should be used when jump
1      targets can potentially be out of range.  In the absence of such
1      jumps this option does not affect code size or performance.  The
1      default is '--trampolines'.
1