diff options
Diffstat (limited to 'binutils-2.17/gas/doc/c-sparc.texi')
-rw-r--r-- | binutils-2.17/gas/doc/c-sparc.texi | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/binutils-2.17/gas/doc/c-sparc.texi b/binutils-2.17/gas/doc/c-sparc.texi deleted file mode 100644 index 351b300b..00000000 --- a/binutils-2.17/gas/doc/c-sparc.texi +++ /dev/null @@ -1,195 +0,0 @@ -@c Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1999, 2002 -@c 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-Aligned-Data:: Option to enforce aligned data -* 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, using the same -core instruction set, but including a few additional instructions at -each level. There are exceptions to this however. For details on what -instructions each variant supports, please see the chip's architecture -reference manual. - -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. - -If not configured for SPARC v9 (@code{sparc64-*-*}) GAS will not bump -passed sparclite by default, an option must be passed to enable the -v9 instructions. - -GAS treats sparclite as being compatible with v8, unless an architecture -is explicitly requested. SPARC v9 is always incompatible with sparclite. - -@c The order here is the same as the order of enum sparc_opcode_arch_val -@c to give the user a sense of the order of the "bumping". - -@table @code -@kindex -Av6 -@kindex Av7 -@kindex -Av8 -@kindex -Asparclet -@kindex -Asparclite -@kindex -Av9 -@kindex -Av9a -@item -Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite -@itemx -Av8plus | -Av8plusa | -Av9 | -Av9a -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 an incompatible or higher level. - -@samp{-Av8plus} and @samp{-Av8plusa} select a 32 bit environment. - -@samp{-Av9} and @samp{-Av9a} select a 64 bit environment and are not -available unless GAS is explicitly configured with 64 bit environment -support. - -@samp{-Av8plusa} and @samp{-Av9a} enable the SPARC V9 instruction set with -UltraSPARC extensions. - -@item -xarch=v8plus | -xarch=v8plusa -For compatibility with the Solaris v9 assembler. These options are -equivalent to -Av8plus and -Av8plusa, respectively. - -@item -bump -Warn whenever it is necessary to switch to another level. -If an architecture level is explicitly requested, GAS will not issue -warnings until that level is reached, and will then bump the level -as required (except between incompatible levels). - -@item -32 | -64 -Select the word size, either 32 bits or 64 bits. -These options are only available with the ELF object file format, -and require that the necessary BFD support has been included. -@end table - -@node Sparc-Aligned-Data -@section Enforcing aligned data - -@cindex data alignment on SPARC -@cindex SPARC data alignment -SPARC GAS normally permits data to be misaligned. For example, it -permits the @code{.long} pseudo-op to be used on a byte boundary. -However, the native SunOS and Solaris assemblers issue an error when -they see misaligned data. - -@kindex --enforce-aligned-data -You can use the @code{--enforce-aligned-data} option to make SPARC GAS -also issue an error about misaligned data, just as the SunOS and Solaris -assemblers do. - -The @code{--enforce-aligned-data} option is not the default because gcc -issues misaligned data pseudo-ops when it initializes certain packed -data structures (structures defined using the @code{packed} attribute). -You may have to assemble with GAS in order to initialize packed data -structures in your own code. - -@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{nword} directive, SPARC -@item .nword -On the Sparc, the @code{.nword} directive produces native word sized value, -ie. if assembling with -32 it is equivalent to @code{.word}, if assembling -with -64 it is equivalent to @code{.xword}. - -@cindex @code{proc} directive, SPARC -@item .proc -This directive is ignored. Any text following it on the same -line is also ignored. - -@cindex @code{register} directive, SPARC -@item .register -This directive declares use of a global application or system register. -It must be followed by a register name %g2, %g3, %g6 or %g7, comma and -the symbol name for that register. If symbol name is @code{#scratch}, -it is a scratch register, if it is @code{#ignore}, it just suppresses any -errors about using undeclared global register, but does not emit any -information about it into the object file. This can be useful e.g. if you -save the register before use and restore it after. - -@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 |