Deleted Added
full compact
c-alpha.texi (104834) c-alpha.texi (130561)
1@c Copyright 2002
2@c Free Software Foundation, Inc.
3@c This is part of the GAS manual.
4@c For copying conditions, see the file as.texinfo.
5
6@ifset GENERIC
7@page
8@node Alpha-Dependent

--- 125 unchanged lines hidden (view full) ---

134@cindex Alpha line separator
135@samp{;} can be used instead of a newline to separate statements.
136
137@node Alpha-Regs
138@subsection Register Names
139@cindex Alpha registers
140@cindex register names, Alpha
141
1@c Copyright 2002
2@c Free Software Foundation, Inc.
3@c This is part of the GAS manual.
4@c For copying conditions, see the file as.texinfo.
5
6@ifset GENERIC
7@page
8@node Alpha-Dependent

--- 125 unchanged lines hidden (view full) ---

134@cindex Alpha line separator
135@samp{;} can be used instead of a newline to separate statements.
136
137@node Alpha-Regs
138@subsection Register Names
139@cindex Alpha registers
140@cindex register names, Alpha
141
142The 32 integer registers are refered to as @samp{$@var{n}} or
142The 32 integer registers are referred to as @samp{$@var{n}} or
143@samp{$r@var{n}}. In addition, registers 15, 28, 29, and 30 may
143@samp{$r@var{n}}. In addition, registers 15, 28, 29, and 30 may
144be refered to by the symbols @samp{$fp}, @samp{$at}, @samp{$gp},
144be referred to by the symbols @samp{$fp}, @samp{$at}, @samp{$gp},
145and @samp{$sp} respectively.
146
145and @samp{$sp} respectively.
146
147The 32 floating-point registers are refered to as @samp{$f@var{n}}.
147The 32 floating-point registers are referred to as @samp{$f@var{n}}.
148
149@node Alpha-Relocs
150@subsection Relocations
151@cindex Alpha relocations
152@cindex relocations, Alpha
153
154Some of these relocations are available for ECOFF, but mostly
155only for ELF. They are modeled after the relocation format
148
149@node Alpha-Relocs
150@subsection Relocations
151@cindex Alpha relocations
152@cindex relocations, Alpha
153
154Some of these relocations are available for ECOFF, but mostly
155only for ELF. They are modeled after the relocation format
156introduced in Digial Unix 4.0, but there are additions.
156introduced in Digital Unix 4.0, but there are additions.
157
158The format is @samp{!@var{tag}} or @samp{!@var{tag}!@var{number}}
159where @var{tag} is the name of the relocation. In some cases
160@var{number} is used to relate specific instructions.
161
162The relocation is placed at the end of the instruction like so:
163
164@example

--- 209 unchanged lines hidden (view full) ---

374spilled. The argument @var{n} indicates whether and how the function
375uses the incoming @dfn{procedure vector} (the address of the called
376function) in @code{$27}. 0 indicates that @code{$27} is not used; 1
377indicates that the first two instructions of the function use @code{$27}
378to perform a load of the GP register; 2 indicates that @code{$27} is
379used in some non-standard way and so the linker cannot elide the load of
380the procedure vector during relaxation.
381
157
158The format is @samp{!@var{tag}} or @samp{!@var{tag}!@var{number}}
159where @var{tag} is the name of the relocation. In some cases
160@var{number} is used to relate specific instructions.
161
162The relocation is placed at the end of the instruction like so:
163
164@example

--- 209 unchanged lines hidden (view full) ---

374spilled. The argument @var{n} indicates whether and how the function
375uses the incoming @dfn{procedure vector} (the address of the called
376function) in @code{$27}. 0 indicates that @code{$27} is not used; 1
377indicates that the first two instructions of the function use @code{$27}
378to perform a load of the GP register; 2 indicates that @code{$27} is
379used in some non-standard way and so the linker cannot elide the load of
380the procedure vector during relaxation.
381
382@item .usepv @var{function}, @var{which}
383Used to indicate the use of the @code{$27} register, similar to
384@code{.prologue}, but without the other semantics of needing to
385be inside an open @code{.ent}/@code{.end} block.
386
387The @var{which} argument should be either @code{no}, indicating that
388@code{$27} is not used, or @code{std}, indicating that the first two
389instructions of the function perform a GP load.
390
391One might use this directive instead of @code{.prologue} if you are
392also using dwarf2 CFI directives.
393
382@item .gprel32 @var{expression}
383Computes the difference between the address in @var{expression} and the
384GP for the current object file, and stores it in 4 bytes. In addition
385to being smaller than a full 8 byte address, this also does not require
386a dynamic relocation when used in a shared library.
387
388@item .t_floating @var{expression}
389Stores @var{expression} as an @sc{ieee} double precision value.

--- 18 unchanged lines hidden (view full) ---

408@item at
409Indicates that macro expansions may clobber the @dfn{assembler
410temporary} (@code{$at} or @code{$28}) register. Some macros may not be
411expanded without this and will generate an error message if @code{noat}
412is in effect. When @code{at} is in effect, a warning will be generated
413if @code{$at} is used by the programmer.
414
415@item macro
394@item .gprel32 @var{expression}
395Computes the difference between the address in @var{expression} and the
396GP for the current object file, and stores it in 4 bytes. In addition
397to being smaller than a full 8 byte address, this also does not require
398a dynamic relocation when used in a shared library.
399
400@item .t_floating @var{expression}
401Stores @var{expression} as an @sc{ieee} double precision value.

--- 18 unchanged lines hidden (view full) ---

420@item at
421Indicates that macro expansions may clobber the @dfn{assembler
422temporary} (@code{$at} or @code{$28}) register. Some macros may not be
423expanded without this and will generate an error message if @code{noat}
424is in effect. When @code{at} is in effect, a warning will be generated
425if @code{$at} is used by the programmer.
426
427@item macro
416Enables the expasion of macro instructions. Note that variants of real
428Enables the expansion of macro instructions. Note that variants of real
417instructions, such as @code{br label} vs @code{br $31,label} are
418considered alternate forms and not macros.
419
420@item move
421@itemx reorder
422@itemx volatile
423These control whether and how the assembler may re-order instructions.
424Accepted for compatibility with the OSF/1 assembler, but @command{@value{AS}}

--- 30 unchanged lines hidden ---
429instructions, such as @code{br label} vs @code{br $31,label} are
430considered alternate forms and not macros.
431
432@item move
433@itemx reorder
434@itemx volatile
435These control whether and how the assembler may re-order instructions.
436Accepted for compatibility with the OSF/1 assembler, but @command{@value{AS}}

--- 30 unchanged lines hidden ---