summaryrefslogtreecommitdiffstats
path: root/binutils-2.24/gas/doc/c-tilegx.texi
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.24/gas/doc/c-tilegx.texi')
-rw-r--r--binutils-2.24/gas/doc/c-tilegx.texi363
1 files changed, 0 insertions, 363 deletions
diff --git a/binutils-2.24/gas/doc/c-tilegx.texi b/binutils-2.24/gas/doc/c-tilegx.texi
deleted file mode 100644
index 0d8c038b..00000000
--- a/binutils-2.24/gas/doc/c-tilegx.texi
+++ /dev/null
@@ -1,363 +0,0 @@
-@c Copyright 2011
-@c Free Software Foundation, Inc.
-@c This is part of the GAS manual.
-@c For copying conditions, see the file as.texinfo.
-@c man end
-
-@ifset GENERIC
-@page
-@node TILE-Gx-Dependent
-@chapter TILE-Gx Dependent Features
-@end ifset
-@ifclear GENERIC
-@node Machine Dependencies
-@chapter TILE-Gx Dependent Features
-@end ifclear
-
-@cindex TILE-Gx support
-@menu
-* TILE-Gx Options:: TILE-Gx Options
-* TILE-Gx Syntax:: TILE-Gx Syntax
-* TILE-Gx Directives:: TILE-Gx Directives
-@end menu
-
-@node TILE-Gx Options
-@section Options
-
-The following table lists all available TILE-Gx specific options:
-
-@c man begin OPTIONS
-@table @gcctabopt
-@cindex @samp{-m32} option, TILE-Gx
-@cindex @samp{-m64} option, TILE-Gx
-@item -m32 | -m64
-Select the word size, either 32 bits or 64 bits.
-
-@cindex @samp{-EB} option, TILE-Gx
-@cindex @samp{-EL} option, TILE-Gx
-@item -EB | -EL
-Select the endianness, either big-endian (-EB) or little-endian (-EL).
-
-@end table
-@c man end
-
-@node TILE-Gx Syntax
-@section Syntax
-@cindex TILE-Gx syntax
-@cindex syntax, TILE-Gx
-
-Block comments are delimited by @samp{/*} and @samp{*/}. End of line
-comments may be introduced by @samp{#}.
-
-Instructions consist of a leading opcode or macro name followed by
-whitespace and an optional comma-separated list of operands:
-
-@smallexample
-@var{opcode} [@var{operand}, @dots{}]
-@end smallexample
-
-Instructions must be separated by a newline or semicolon.
-
-There are two ways to write code: either write naked instructions,
-which the assembler is free to combine into VLIW bundles, or specify
-the VLIW bundles explicitly.
-
-Bundles are specified using curly braces:
-
-@smallexample
-@{ @var{add} r3,r4,r5 ; @var{add} r7,r8,r9 ; @var{lw} r10,r11 @}
-@end smallexample
-
-A bundle can span multiple lines. If you want to put multiple
-instructions on a line, whether in a bundle or not, you need to
-separate them with semicolons as in this example.
-
-A bundle may contain one or more instructions, up to the limit
-specified by the ISA (currently three). If fewer instructions are
-specified than the hardware supports in a bundle, the assembler
-inserts @code{fnop} instructions automatically.
-
-The assembler will prefer to preserve the ordering of instructions
-within the bundle, putting the first instruction in a lower-numbered
-pipeline than the next one, etc. This fact, combined with the
-optional use of explicit @code{fnop} or @code{nop} instructions,
-allows precise control over which pipeline executes each instruction.
-
-If the instructions cannot be bundled in the listed order, the
-assembler will automatically try to find a valid pipeline
-assignment. If there is no way to bundle the instructions together,
-the assembler reports an error.
-
-The assembler does not yet auto-bundle (automatically combine multiple
-instructions into one bundle), but it reserves the right to do so in
-the future. If you want to force an instruction to run by itself, put
-it in a bundle explicitly with curly braces and use @code{nop}
-instructions (not @code{fnop}) to fill the remaining pipeline slots in
-that bundle.
-
-@menu
-* TILE-Gx Opcodes:: Opcode Naming Conventions.
-* TILE-Gx Registers:: Register Naming.
-* TILE-Gx Modifiers:: Symbolic Operand Modifiers.
-@end menu
-
-@node TILE-Gx Opcodes
-@subsection Opcode Names
-@cindex TILE-Gx opcode names
-@cindex opcode names, TILE-Gx
-
-For a complete list of opcodes and descriptions of their semantics,
-see @cite{TILE-Gx Instruction Set Architecture}, available upon
-request at www.tilera.com.
-
-@node TILE-Gx Registers
-@subsection Register Names
-@cindex TILE-Gx register names
-@cindex register names, TILE-Gx
-
-General-purpose registers are represented by predefined symbols of the
-form @samp{r@var{N}}, where @var{N} represents a number between
-@code{0} and @code{63}. However, the following registers have
-canonical names that must be used instead:
-
-@table @code
-@item r54
-sp
-
-@item r55
-lr
-
-@item r56
-sn
-
-@item r57
-idn0
-
-@item r58
-idn1
-
-@item r59
-udn0
-
-@item r60
-udn1
-
-@item r61
-udn2
-
-@item r62
-udn3
-
-@item r63
-zero
-
-@end table
-
-The assembler will emit a warning if a numeric name is used instead of
-the non-numeric name. The @code{.no_require_canonical_reg_names}
-assembler pseudo-op turns off this
-warning. @code{.require_canonical_reg_names} turns it back on.
-
-@node TILE-Gx Modifiers
-@subsection Symbolic Operand Modifiers
-@cindex TILE-Gx modifiers
-@cindex symbol modifiers, TILE-Gx
-
-The assembler supports several modifiers when using symbol addresses
-in TILE-Gx instruction operands. The general syntax is the following:
-
-@smallexample
-modifier(symbol)
-@end smallexample
-
-The following modifiers are supported:
-
-@table @code
-
-@item hw0
-
-This modifier is used to load bits 0-15 of the symbol's address.
-
-@item hw1
-
-This modifier is used to load bits 16-31 of the symbol's address.
-
-@item hw2
-
-This modifier is used to load bits 32-47 of the symbol's address.
-
-@item hw3
-
-This modifier is used to load bits 48-63 of the symbol's address.
-
-@item hw0_last
-
-This modifier yields the same value as @code{hw0}, but it also checks
-that the value does not overflow.
-
-@item hw1_last
-
-This modifier yields the same value as @code{hw1}, but it also checks
-that the value does not overflow.
-
-@item hw2_last
-
-This modifier yields the same value as @code{hw2}, but it also checks
-that the value does not overflow.
-
-A 48-bit symbolic value is constructed by using the following idiom:
-
-@smallexample
-moveli r0, hw2_last(sym)
-shl16insli r0, r0, hw1(sym)
-shl16insli r0, r0, hw0(sym)
-@end smallexample
-
-@item hw0_got
-
-This modifier is used to load bits 0-15 of the symbol's offset in the
-GOT entry corresponding to the symbol.
-
-@item hw0_last_got
-
-This modifier yields the same value as @code{hw0_got}, but it also
-checks that the value does not overflow.
-
-@item hw1_last_got
-
-This modifier is used to load bits 16-31 of the symbol's offset in the
-GOT entry corresponding to the symbol, and it also checks that the
-value does not overflow.
-
-@item plt
-
-This modifier is used for function symbols. It causes a
-@emph{procedure linkage table}, an array of code stubs, to be created
-at the time the shared object is created or linked against, together
-with a global offset table entry. The value is a pc-relative offset
-to the corresponding stub code in the procedure linkage table. This
-arrangement causes the run-time symbol resolver to be called to look
-up and set the value of the symbol the first time the function is
-called (at latest; depending environment variables). It is only safe
-to leave the symbol unresolved this way if all references are function
-calls.
-
-@item hw0_plt
-
-This modifier is used to load bits 0-15 of the pc-relative address of
-a plt entry.
-
-@item hw1_plt
-
-This modifier is used to load bits 16-31 of the pc-relative address of
-a plt entry.
-
-@item hw1_last_plt
-
-This modifier yields the same value as @code{hw1_plt}, but it also
-checks that the value does not overflow.
-
-@item hw2_last_plt
-
-This modifier is used to load bits 32-47 of the pc-relative address of
-a plt entry, and it also checks that the value does not overflow.
-
-@item hw0_tls_gd
-
-This modifier is used to load bits 0-15 of the offset of the GOT entry
-of the symbol's TLS descriptor, to be used for general-dynamic TLS
-accesses.
-
-@item hw0_last_tls_gd
-
-This modifier yields the same value as @code{hw0_tls_gd}, but it also
-checks that the value does not overflow.
-
-@item hw1_last_tls_gd
-
-This modifier is used to load bits 16-31 of the offset of the GOT
-entry of the symbol's TLS descriptor, to be used for general-dynamic
-TLS accesses. It also checks that the value does not overflow.
-
-@item hw0_tls_ie
-
-This modifier is used to load bits 0-15 of the offset of the GOT entry
-containing the offset of the symbol's address from the TCB, to be used
-for initial-exec TLS accesses.
-
-@item hw0_last_tls_ie
-
-This modifier yields the same value as @code{hw0_tls_ie}, but it also
-checks that the value does not overflow.
-
-@item hw1_last_tls_ie
-
-This modifier is used to load bits 16-31 of the offset of the GOT
-entry containing the offset of the symbol's address from the TCB, to
-be used for initial-exec TLS accesses. It also checks that the value
-does not overflow.
-
-@item hw0_tls_le
-
-This modifier is used to load bits 0-15 of the offset of the symbol's
-address from the TCB, to be used for local-exec TLS accesses.
-
-@item hw0_last_tls_le
-
-This modifier yields the same value as @code{hw0_tls_le}, but it also
-checks that the value does not overflow.
-
-@item hw1_last_tls_le
-
-This modifier is used to load bits 16-31 of the offset of the symbol's
-address from the TCB, to be used for local-exec TLS accesses. It
-also checks that the value does not overflow.
-
-@item tls_gd_call
-
-This modifier is used to tag an instrution as the ``call'' part of a
-calling sequence for a TLS GD reference of its operand.
-
-@item tls_gd_add
-
-This modifier is used to tag an instruction as the ``add'' part of a
-calling sequence for a TLS GD reference of its operand.
-
-@item tls_ie_load
-
-This modifier is used to tag an instruction as the ``load'' part of a
-calling sequence for a TLS IE reference of its operand.
-
-@end table
-
-@node TILE-Gx Directives
-@section TILE-Gx Directives
-@cindex machine directives, TILE-Gx
-@cindex TILE-Gx machine directives
-
-@table @code
-
-@cindex @code{.align} directive, TILE-Gx
-@item .align @var{expression} [, @var{expression}]
-This is the generic @var{.align} directive. The first argument is the
-requested alignment in bytes.
-
-@cindex @code{.allow_suspicious_bundles} directive, TILE-Gx
-@item .allow_suspicious_bundles
-Turns on error checking for combinations of instructions in a bundle
-that probably indicate a programming error. This is on by default.
-
-@item .no_allow_suspicious_bundles
-Turns off error checking for combinations of instructions in a bundle
-that probably indicate a programming error.
-
-@cindex @code{.require_canonical_reg_names} directive, TILE-Gx
-@item .require_canonical_reg_names
-Require that canonical register names be used, and emit a warning if
-the numeric names are used. This is on by default.
-
-@item .no_require_canonical_reg_names
-Permit the use of numeric names for registers that have canonical
-names.
-
-@end table