@c Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. @c This is part of the GAS manual. @c For copying conditions, see the file as.texinfo. @ifset GENERIC @page @node Sparc-Dependent @chapter SPARC Dependent Features @end ifset @ifclear GENERIC @node Machine Dependencies @chapter SPARC Dependent Features @end ifclear @cindex SPARC support @menu * Sparc-Opts:: Options * Sparc-Float:: Floating Point * Sparc-Directives:: Sparc Machine Directives @end menu @node Sparc-Opts @section Options @cindex options for SPARC @cindex SPARC options @cindex architectures, SPARC @cindex SPARC architectures The SPARC chip family includes several successive levels (or other variants) of chip, using the same core instruction set, but including a few additional instructions at each level. By default, @code{@value{AS}} assumes the core instruction set (SPARC v6), but ``bumps'' the architecture level as needed: it switches to successively higher architectures as it encounters instructions that only exist in the higher levels. @table @code @kindex -Av6 @kindex Av7 @kindex -Av8 @kindex -Av9 @kindex -Asparclite @item -Av6 | -Av7 | -Av8 | -Av9 | -Asparclite Use one of the @samp{-A} options to select one of the SPARC architectures explicitly. If you select an architecture explicitly, @code{@value{AS}} reports a fatal error if it encounters an instruction or feature requiring a higher level. @item -bump Permit the assembler to ``bump'' the architecture level as required, but warn whenever it is necessary to switch to another level. @end table @ignore @c FIXME: (sparc) Fill in "syntax" section! @c subsection syntax I don't know anything about Sparc syntax. Someone who does will have to write this section. @end ignore @node Sparc-Float @section Floating Point @cindex floating point, SPARC (@sc{ieee}) @cindex SPARC floating point (@sc{ieee}) The Sparc uses @sc{ieee} floating-point numbers. @node Sparc-Directives @section Sparc Machine Directives @cindex SPARC machine directives @cindex machine directives, SPARC The Sparc version of @code{@value{AS}} supports the following additional machine directives: @table @code @cindex @code{align} directive, SPARC @item .align This must be followed by the desired alignment in bytes. @cindex @code{common} directive, SPARC @item .common This must be followed by a symbol name, a positive number, and @code{"bss"}. This behaves somewhat like @code{.comm}, but the syntax is different. @cindex @code{half} directive, SPARC @item .half This is functionally identical to @code{.short}. @cindex @code{proc} directive, SPARC @item .proc This directive is ignored. Any text following it on the same line is also ignored. @cindex @code{reserve} directive, SPARC @item .reserve This must be followed by a symbol name, a positive number, and @code{"bss"}. This behaves somewhat like @code{.lcomm}, but the syntax is different. @cindex @code{seg} directive, SPARC @item .seg This must be followed by @code{"text"}, @code{"data"}, or @code{"data1"}. It behaves like @code{.text}, @code{.data}, or @code{.data 1}. @cindex @code{skip} directive, SPARC @item .skip This is functionally identical to the @code{.space} directive. @cindex @code{word} directive, SPARC @item .word On the Sparc, the @code{.word} directive produces 32 bit values, instead of the 16 bit values it produces on many other machines. @cindex @code{xword} directive, SPARC @item .xword On the Sparc V9 processor, the @code{.xword} directive produces 64 bit values. @end table