]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gas/doc/c-arc.texi
Add missing ARC documentation
[thirdparty/binutils-gdb.git] / gas / doc / c-arc.texi
CommitLineData
2d73a4ca
NC
1@c Copyright (C) 2000, 2001 Free Software Foundation, Inc.
2@c This is part of the GAS manual.
3@c For copying conditions, see the file as.texinfo.
4
5@ifset GENERIC
6@page
7@node ARC-Dependent
8@chapter ARC Dependent Features
9@end ifset
10
11@ifclear GENERIC
12@node Machine Dependencies
13@chapter ARC Dependent Features
14@end ifclear
15
16@set ARC_CORE_DEFAULT 5
17
18@cindex ARC support
19@menu
20* ARC Options:: Options
21* ARC Syntax:: Syntax
22* ARC Floating Point:: Floating Point
23* ARC Directives:: ARC Machine Directives
24* ARC Opcodes:: Opcodes
25@end menu
26
27
28@node ARC Options
29@section Options
30@cindex ARC options (none)
31@cindex options for ARC (none)
32
33@table @code
34
35@cindex @code{-marc[5|6|7|8]} command line option, ARC
36@item -marc[5|6|7|8]
37This option selects the core processor variant. Using
38@code{-marc} is the same as @code{-marc@value{ARC_CORE_DEFAULT}}, which
39is also the default.
40
41@table @code
42
43@cindex @code{arc5} arc5, ARC
44@item arc5
45Base instruction set.
46
47@cindex @code{arc6} arc6, ARC
48@item arc6
49Jump-and-link (jl) instruction. No requirement of an instruction between
50setting flags and conditional jump. For example:
51
52@smallexample
53 mov.f r0,r1
54 beq foo
55@end smallexample
56
57@cindex @code{arc7} arc7, ARC
58@item arc7
59Break (brk) and sleep (sleep) instructions.
60
61@cindex @code{arc8} arc8, ARC
62@item arc8
63Software interrupt (swi) instruction.
64
65@end table
66
67Note: the @code{.option} directive can to be used to select a core
68variant from within assembly code.
69
70@cindex @code{-EB} command line option, ARC
71@item -EB
72This option specifies that the output generated by the assembler should
73be marked as being encoded for a big-endian processor.
74
75@cindex @code{-EL} command line option, ARC
76@item -EL
77This option specifies that the output generated by the assembler should
78be marked as being encoded for a little-endian processor - this is the
79default.
80
81@end table
82
83
84@node ARC Syntax
85@section Syntax
86@menu
87* ARC-Chars:: Special Characters
88* ARC-Regs:: Register Names
89@end menu
90
91@node ARC-Chars
92@subsection Special Characters
93
94@cindex ARC special characters
95@cindex special characters, ARC
96*TODO*
97
98@node ARC-Regs
99@subsection Register Names
100
101@cindex ARC register names
102@cindex register names, ARC
103*TODO*
104
105
106@node ARC Floating Point
107@section Floating Point
108
109@cindex floating point, ARC (@sc{ieee})
110@cindex ARC floating point (@sc{ieee})
111The ARC core does not currently have hardware floating point
112support. Software floating point support is provided by @code{GCC}
113and uses @sc{ieee} floating-point numbers.
114
115
116@node ARC Directives
117@section ARC Machine Directives
118
119@cindex machine directives, ARC
120@cindex ARC machine directives
121The ARC version of @code{@value{AS}} supports the following additional
122machine directives:
123
124@table @code
125
126@cindex @code{2byte} directive, ARC
127@item .2byte @var{expressions}
128*TODO*
129
130@cindex @code{3byte} directive, ARC
131@item .3byte @var{expressions}
132*TODO*
133
134@cindex @code{4byte} directive, ARC
135@item .4byte @var{expressions}
136*TODO*
137
138@cindex @code{extAuxRegister} directive, ARC
139@item .extAuxRegister @var{name},@var{address},@var{mode}
140*TODO*
141
142@smallexample
143 .extAuxRegister mulhi,0x12,w
144@end smallexample
145
146@cindex @code{extCondCode} directive, ARC
147@item .extCondCode @var{suffix},@var{value}
148*TODO*
149
150@smallexample
151 .extCondCode is_busy,0x14
152@end smallexample
153
154@cindex @code{extCoreRegister} directive, ARC
155@item .extCoreRegister @var{name},@var{regnum},@var{mode},@var{shortcut}
156*TODO*
157
158@smallexample
159 .extCoreRegister mlo,57,r,can_shortcut
160@end smallexample
161
162@cindex @code{extInstruction} directive, ARC
163@item .extInstruction @var{name},@var{opcode},@var{subopcode},@var{suffixclass},@var{syntaxclass}
164*TODO*
165
166@smallexample
167 .extInstruction mul64,0x14,0x0,SUFFIX_COND,SYNTAX_3OP|OP1_MUST_BE_IMM
168@end smallexample
169
170@cindex @code{half} directive, ARC
171@item .half @var{expressions}
172*TODO*
173
174@cindex @code{long} directive, ARC
175@item .long @var{expressions}
176*TODO*
177
178@cindex @code{option} directive, ARC
179@item .option @var{arc|arc5|arc6|arc7|arc8}
180The @code{.option} directive must be followed by the desired core
181version. Again @code{arc} is an alias for
182@code{arc@value{ARC_CORE_DEFAULT}}.
183
184Note: the @code{.option} directive overrides the command line option
185@code{-marc}; a warning is emitted when the version is not consistent
186between the two - even for the implicit default core version
187(arc@value{ARC_CORE_DEFAULT}).
188
189@cindex @code{short} directive, ARC
190@item .short @var{expressions}
191*TODO*
192
193@cindex @code{word} directive, ARC
194@item .word @var{expressions}
195*TODO*
196
197@end table
198
199
200@node ARC Opcodes
201@section Opcodes
202
203@cindex ARC opcodes
204@cindex opcodes for ARC
205
206For information on the ARC instruction set, see @cite{ARC Programmers
207Reference Manual}, ARC Cores Ltd.