@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{.c6xabi_attribute} directive, TIC6X @item .c6xabi_attribute @var{tag}, @var{value} Set the C6000 EABI build attribute @var{tag} to @var{value}. The @var{tag} is either an attribute number or @code{Tag_C6XABI_Tag_CPU_arch}. The @var{value} is either a @code{number}, @code{"string"}, or @code{number, "string"} depending on the tag. @cindex @code{.nocmp} directive, TIC6X @item .nocmp Disallow use of C64x+ compact instructions in the current text section. @end table