as: Sparc-Opts

1 
1 9.44.1 Options
1 --------------
1 
1 The SPARC chip family includes several successive versions, using the
1 same core instruction set, but including a few additional instructions
1 at each version.  There are exceptions to this however.  For details on
1 what instructions each variant supports, please see the chip's
1 architecture reference manual.
1 
1    By default, 'as' assumes the core instruction set (SPARC v6), but
1 "bumps" the architecture level as needed: it switches to successively
1 higher architectures as it encounters instructions that only exist in
1 the higher levels.
1 
1    If not configured for SPARC v9 ('sparc64-*-*') GAS will not bump past
1 sparclite by default, an option must be passed to enable the v9
1 instructions.
1 
1    GAS treats sparclite as being compatible with v8, unless an
1 architecture is explicitly requested.  SPARC v9 is always incompatible
1 with sparclite.
1 
1 '-Av6 | -Av7 | -Av8 | -Aleon | -Asparclet | -Asparclite'
1 '-Av8plus | -Av8plusa | -Av8plusb | -Av8plusc | -Av8plusd |'
1 '-Av8plusv | -Av8plusm | -Av8plusm8'
1 '-Av9 | -Av9a | -Av9b | -Av9c | -Av9d | -Av9e | -Av9v | -Av9m | -Av9m8'
1 '-Asparc | -Asparcvis | -Asparcvis2 | -Asparcfmaf | -Asparcima'
1 '-Asparcvis3 | -Asparcvis3r | -Asparc5 | -Asparc6'
1      Use one of the '-A' options to select one of the SPARC
1      architectures explicitly.  If you select an architecture
1      explicitly, 'as' reports a fatal error if it encounters an
1      instruction or feature requiring an incompatible or higher level.
1 
1      '-Av8plus', '-Av8plusa', '-Av8plusb', '-Av8plusc', '-Av8plusd', and
1      '-Av8plusv' select a 32 bit environment.
1 
1      '-Av9', '-Av9a', '-Av9b', '-Av9c', '-Av9d', '-Av9e', '-Av9v' and
1      '-Av9m' select a 64 bit environment and are not available unless
1      GAS is explicitly configured with 64 bit environment support.
1 
1      '-Av8plusa' and '-Av9a' enable the SPARC V9 instruction set with
1      UltraSPARC VIS 1.0 extensions.
1 
1      '-Av8plusb' and '-Av9b' enable the UltraSPARC VIS 2.0 instructions,
1      as well as the instructions enabled by '-Av8plusa' and '-Av9a'.
1 
1      '-Av8plusc' and '-Av9c' enable the UltraSPARC Niagara instructions,
1      as well as the instructions enabled by '-Av8plusb' and '-Av9b'.
1 
1      '-Av8plusd' and '-Av9d' enable the floating point fused
1      multiply-add, VIS 3.0, and HPC extension instructions, as well as
1      the instructions enabled by '-Av8plusc' and '-Av9c'.
1 
1      '-Av8pluse' and '-Av9e' enable the cryptographic instructions, as
1      well as the instructions enabled by '-Av8plusd' and '-Av9d'.
1 
1      '-Av8plusv' and '-Av9v' enable floating point unfused multiply-add,
1      and integer multiply-add, as well as the instructions enabled by
1      '-Av8pluse' and '-Av9e'.
1 
1      '-Av8plusm' and '-Av9m' enable the VIS 4.0, subtract extended,
1      xmpmul, xmontmul and xmontsqr instructions, as well as the
1      instructions enabled by '-Av8plusv' and '-Av9v'.
1 
1      '-Av8plusm8' and '-Av9m8' enable the instructions introduced in the
1      Oracle SPARC Architecture 2017 and the M8 processor, as well as the
1      instructions enabled by '-Av8plusm' and '-Av9m'.
1 
1      '-Asparc' specifies a v9 environment.  It is equivalent to '-Av9'
1      if the word size is 64-bit, and '-Av8plus' otherwise.
1 
1      '-Asparcvis' specifies a v9a environment.  It is equivalent to
1      '-Av9a' if the word size is 64-bit, and '-Av8plusa' otherwise.
1 
1      '-Asparcvis2' specifies a v9b environment.  It is equivalent to
1      '-Av9b' if the word size is 64-bit, and '-Av8plusb' otherwise.
1 
1      '-Asparcfmaf' specifies a v9b environment with the floating point
1      fused multiply-add instructions enabled.
1 
1      '-Asparcima' specifies a v9b environment with the integer
1      multiply-add instructions enabled.
1 
1      '-Asparcvis3' specifies a v9b environment with the VIS 3.0, HPC ,
1      and floating point fused multiply-add instructions enabled.
1 
1      '-Asparcvis3r' specifies a v9b environment with the VIS 3.0, HPC,
1      and floating point unfused multiply-add instructions enabled.
1 
1      '-Asparc5' is equivalent to '-Av9m'.
1 
1      '-Asparc6' is equivalent to '-Av9m8'.
1 
1 '-xarch=v8plus | -xarch=v8plusa | -xarch=v8plusb | -xarch=v8plusc'
1 '-xarch=v8plusd | -xarch=v8plusv | -xarch=v8plusm |'
1 '-xarch=v8plusm8 | -xarch=v9 | -xarch=v9a | -xarch=v9b'
1 '-xarch=v9c | -xarch=v9d | -xarch=v9e | -xarch=v9v'
1 '-xarch=v9m | -xarch=v9m8'
1 '-xarch=sparc | -xarch=sparcvis | -xarch=sparcvis2'
1 '-xarch=sparcfmaf | -xarch=sparcima | -xarch=sparcvis3'
1 '-xarch=sparcvis3r | -xarch=sparc5 | -xarch=sparc6'
1      For compatibility with the SunOS v9 assembler.  These options are
1      equivalent to -Av8plus, -Av8plusa, -Av8plusb, -Av8plusc, -Av8plusd,
1      -Av8plusv, -Av8plusm, -Av8plusm8, -Av9, -Av9a, -Av9b, -Av9c, -Av9d,
1      -Av9e, -Av9v, -Av9m, -Av9m8, -Asparc, -Asparcvis, -Asparcvis2,
1      -Asparcfmaf, -Asparcima, -Asparcvis3, -Asparcvis3r, -Asparc5 and
1      -Asparc6 respectively.
1 
1 '-bump'
1      Warn whenever it is necessary to switch to another level.  If an
1      architecture level is explicitly requested, GAS will not issue
1      warnings until that level is reached, and will then bump the level
1      as required (except between incompatible levels).
1 
1 '-32 | -64'
1      Select the word size, either 32 bits or 64 bits.  These options are
1      only available with the ELF object file format, and require that
1      the necessary BFD support has been included.
1 
1 '--dcti-couples-detect'
1      Warn if a DCTI (delayed control transfer instruction) couple is
1      found when generating code for a variant of the SPARC architecture
1      in which the execution of the couple is unpredictable, or very
1      slow.  This is disabled by default.
1