bfd:
[deliverable/binutils-gdb.git] / gas / doc / c-tic6x.texi
CommitLineData
40b36596
JM
1@c Copyright 2010 Free Software Foundation, Inc.
2@c This is part of the GAS manual.
3@c For copying conditions, see the file as.texinfo.
4@ifset GENERIC
5@page
6@node TIC6X-Dependent
7@chapter TIC6X Dependent Features
8@end ifset
9@ifclear GENERIC
10@node Machine Dependencies
11@chapter TIC6X Dependent Features
12@end ifclear
13
14@cindex TIC6X support
15@cindex TMS320C6X support
16@menu
17* TIC6X Options:: Options
18* TIC6X Syntax:: Syntax
19* TIC6X Directives:: Directives
20@end menu
21
22@node TIC6X Options
23@section TIC6X Options
24@cindex TIC6X options
25@cindex options for TIC6X
26
27@table @code
28
29@cindex @code{-march=} command line option, TIC6X
30@item -march=@var{arch}
31Enable (only) instructions from architecture @var{arch}. By default,
32all instructions are permitted.
33
34The following values of @var{arch} are accepted: @code{c62x},
35@code{c64x}, @code{c64x+}, @code{c67x}, @code{c67x+}, @code{c674x}.
36
37@cindex @code{-matomic} command line option, TIC6X
38@cindex @code{-mno-atomic} command line option, TIC6X
39@item -matomic
40@itemx -mno-atomic
41Enable or disable the optional C64x+ atomic operation instructions.
42By default, they are enabled if no @option{-march} option is given, or
43if an architecture is specified with @option{-march} that implies
44these instructions are present (currently, there are no such
45architectures); they are disabled if an architecture is specified with
46@option{-march} on which the instructions are optional or not
47present. This option overrides such a default from the architecture,
48independent of the order in which the @option{-march} or
49@option{-matomic} or @option{-mno-atomic} options are passed.
50
51@cindex TIC6X big-endian output
52@cindex TIC6X little-endian output
53@cindex big-endian output, TIC6X
54@cindex little-endian output, TIC6X
55@item -mbig-endian
56@itemx -mlittle-endian
57Generate code for the specified endianness. The default is
58little-endian.
59
60@end table
61
62@node TIC6X Syntax
63@section TIC6X Syntax
64
65@cindex line comment character, TIC6X
66@cindex TIC6X line comment character
67The presence of a @samp{;} on a line indicates the start of a comment
68that extends to the end of the current line. If a @samp{#} or
69@samp{*} appears as the first character of a line, the whole line is
70treated as a comment.
71
72@cindex line separator, TIC6X
73@cindex statement separator, TIC6X
74@cindex TIC6X line separator
75The @samp{@@} character can be used instead of a newline to separate
76statements.
77
78Instruction, register and functional unit names are case-insensitive.
79@command{@value{AS}} requires fully-specified functional unit names,
80such as @samp{.S1}, @samp{.L1X} or @samp{.D1T2}, on all instructions
81using a functional unit.
82
83For some instructions, there may be syntactic ambiguity between
84register or functional unit names and the names of labels or other
85symbols. To avoid this, enclose the ambiguous symbol name in
86parentheses; register and functional unit names may not be enclosed in
87parentheses.
88
89@node TIC6X Directives
90@section TIC6X Directives
91
92@cindex machine directives, TIC6X
93@cindex TIC6X machine directives
94
95Directives controlling the set of instructions accepted by the
96assembler have effect for instructions between the directive and any
97subsequent directive overriding it.
98
99@table @code
100
101@cindex @code{.arch} directive, TIC6X
102@item .arch @var{arch}
103This has the same effect as @option{-march=@var{arch}}.
104
105@cindex @code{.atomic} directive, TIC6X
106@cindex @code{.noatomic} directive, TIC6X
107@item .atomic
108@itemx .noatomic
109These have the same effects as @option{-matomic} and
110@option{-mno-atomic}.
111
8a0344f6
JM
112@cindex @code{.c6xabi_attribute} directive, TIC6X
113@item .c6xabi_attribute @var{tag}, @var{value}
114Set the C6000 EABI build attribute @var{tag} to @var{value}.
115
116The @var{tag} is either an attribute number or
75fa6dc1 117@code{Tag_ISA}. The @var{value} is either a
8a0344f6
JM
118@code{number}, @code{"string"}, or @code{number, "string"} depending
119on the tag.
120
40b36596
JM
121@cindex @code{.nocmp} directive, TIC6X
122@item .nocmp
123Disallow use of C64x+ compact instructions in the current text
124section.
125
126@end table
This page took 0.050005 seconds and 4 git commands to generate.