| @c Copyright 2010 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 TIC6X-Dependent |
| @chapter TIC6X Dependent Features |
| @end ifset |
| @ifclear GENERIC |
| @node Machine Dependencies |
| @chapter TIC6X Dependent Features |
| @end ifclear |
| |
| @cindex TIC6X support |
| @cindex TMS320C6X support |
| @menu |
| * TIC6X Options:: Options |
| * TIC6X Syntax:: Syntax |
| * TIC6X Directives:: Directives |
| @end menu |
| |
| @node TIC6X Options |
| @section TIC6X Options |
| @cindex TIC6X options |
| @cindex options for TIC6X |
| |
| @table @code |
| |
| @cindex @code{-march=} command line option, TIC6X |
| @item -march=@var{arch} |
| Enable (only) instructions from architecture @var{arch}. By default, |
| all instructions are permitted. |
| |
| The following values of @var{arch} are accepted: @code{c62x}, |
| @code{c64x}, @code{c64x+}, @code{c67x}, @code{c67x+}, @code{c674x}. |
| |
| @cindex @code{-matomic} command line option, TIC6X |
| @cindex @code{-mno-atomic} command line option, TIC6X |
| @item -matomic |
| @itemx -mno-atomic |
| Enable or disable the optional C64x+ atomic operation instructions. |
| By default, they are enabled if no @option{-march} option is given, or |
| if an architecture is specified with @option{-march} that implies |
| these instructions are present (currently, there are no such |
| architectures); they are disabled if an architecture is specified with |
| @option{-march} on which the instructions are optional or not |
| present. This option overrides such a default from the architecture, |
| independent of the order in which the @option{-march} or |
| @option{-matomic} or @option{-mno-atomic} options are passed. |
| |
| @cindex TIC6X big-endian output |
| @cindex TIC6X little-endian output |
| @cindex big-endian output, TIC6X |
| @cindex little-endian output, TIC6X |
| @item -mbig-endian |
| @itemx -mlittle-endian |
| Generate code for the specified endianness. The default is |
| little-endian. |
| |
| @end table |
| |
| @node TIC6X Syntax |
| @section TIC6X Syntax |
| |
| @cindex line comment character, TIC6X |
| @cindex TIC6X line comment character |
| The presence of a @samp{;} on a line indicates the start of a comment |
| that extends to the end of the current line. If a @samp{#} or |
| @samp{*} appears as the first character of a line, the whole line is |
| treated as a comment. |
| |
| @cindex line separator, TIC6X |
| @cindex statement separator, TIC6X |
| @cindex TIC6X line separator |
| The @samp{@@} character can be used instead of a newline to separate |
| statements. |
| |
| Instruction, register and functional unit names are case-insensitive. |
| @command{@value{AS}} requires fully-specified functional unit names, |
| such as @samp{.S1}, @samp{.L1X} or @samp{.D1T2}, on all instructions |
| using a functional unit. |
| |
| For some instructions, there may be syntactic ambiguity between |
| register or functional unit names and the names of labels or other |
| symbols. To avoid this, enclose the ambiguous symbol name in |
| parentheses; register and functional unit names may not be enclosed in |
| parentheses. |
| |
| @node TIC6X Directives |
| @section TIC6X Directives |
| |
| @cindex machine directives, TIC6X |
| @cindex TIC6X machine directives |
| |
| Directives controlling the set of instructions accepted by the |
| assembler have effect for instructions between the directive and any |
| subsequent directive overriding it. |
| |
| @table @code |
| |
| @cindex @code{.arch} directive, TIC6X |
| @item .arch @var{arch} |
| This has the same effect as @option{-march=@var{arch}}. |
| |
| @cindex @code{.atomic} directive, TIC6X |
| @cindex @code{.noatomic} directive, TIC6X |
| @item .atomic |
| @itemx .noatomic |
| These have the same effects as @option{-matomic} and |
| @option{-mno-atomic}. |
| |
| @cindex @code{.nocmp} directive, TIC6X |
| @item .nocmp |
| Disallow use of C64x+ compact instructions in the current text |
| section. |
| |
| @end table |