as: Xtensa Directives

 
 9.54.5 Directives
 -----------------
 
 The Xtensa assembler supports a region-based directive syntax:
 
          .begin DIRECTIVE [OPTIONS]
          ...
          .end DIRECTIVE
 
    All the Xtensa-specific directives that apply to a region of code use
 this syntax.
 
    The directive applies to code between the '.begin' and the '.end'.
 The state of the option after the '.end' reverts to what it was before
 the '.begin'.  A nested '.begin'/'.end' region can further change the
 state of the directive without having to be aware of its outer state.
 For example, consider:
 
          .begin no-transform
      L:  add a0, a1, a2
          .begin transform
      M:  add a0, a1, a2
          .end transform
      N:  add a0, a1, a2
          .end no-transform
 
    The 'ADD' opcodes at 'L' and 'N' in the outer 'no-transform' region
 both result in 'ADD' machine instructions, but the assembler selects an
 'ADD.N' instruction for the 'ADD' at 'M' in the inner 'transform'
 region.
 
    The advantage of this style is that it works well inside macros which
 can preserve the context of their callers.
 
    The following directives are available:

Menu