1 @c Copyright 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.
8 @chapter ARC Dependent Features
12 @node Machine Dependencies
13 @chapter ARC Dependent Features
16 @set ARC_CORE_DEFAULT 5
20 * ARC Options:: Options
22 * ARC Floating Point:: Floating Point
23 * ARC Directives:: ARC Machine Directives
24 * ARC Opcodes:: Opcodes
30 @cindex ARC options (none)
31 @cindex options for ARC (none)
35 @cindex @code{-marc[5|6|7|8]} command line option, ARC
37 This option selects the core processor variant. Using
38 @code{-marc} is the same as @code{-marc@value{ARC_CORE_DEFAULT}}, which
43 @cindex @code{arc5} arc5, ARC
47 @cindex @code{arc6} arc6, ARC
49 Jump-and-link (jl) instruction. No requirement of an instruction between
50 setting flags and conditional jump. For example:
57 @cindex @code{arc7} arc7, ARC
59 Break (brk) and sleep (sleep) instructions.
61 @cindex @code{arc8} arc8, ARC
63 Software interrupt (swi) instruction.
67 Note: the @code{.option} directive can to be used to select a core
68 variant from within assembly code.
70 @cindex @code{-EB} command line option, ARC
72 This option specifies that the output generated by the assembler should
73 be marked as being encoded for a big-endian processor.
75 @cindex @code{-EL} command line option, ARC
77 This option specifies that the output generated by the assembler should
78 be marked as being encoded for a little-endian processor - this is the
87 * ARC-Chars:: Special Characters
88 * ARC-Regs:: Register Names
92 @subsection Special Characters
94 @cindex ARC special characters
95 @cindex special characters, ARC
99 @subsection Register Names
101 @cindex ARC register names
102 @cindex register names, ARC
106 @node ARC Floating Point
107 @section Floating Point
109 @cindex floating point, ARC (@sc{ieee})
110 @cindex ARC floating point (@sc{ieee})
111 The ARC core does not currently have hardware floating point
112 support. Software floating point support is provided by @code{GCC}
113 and uses @sc{ieee} floating-point numbers.
117 @section ARC Machine Directives
119 @cindex machine directives, ARC
120 @cindex ARC machine directives
121 The ARC version of @code{@value{AS}} supports the following additional
126 @cindex @code{2byte} directive, ARC
127 @item .2byte @var{expressions}
130 @cindex @code{3byte} directive, ARC
131 @item .3byte @var{expressions}
134 @cindex @code{4byte} directive, ARC
135 @item .4byte @var{expressions}
138 @cindex @code{extAuxRegister} directive, ARC
139 @item .extAuxRegister @var{name},@var{address},@var{mode}
143 .extAuxRegister mulhi,0x12,w
146 @cindex @code{extCondCode} directive, ARC
147 @item .extCondCode @var{suffix},@var{value}
151 .extCondCode is_busy,0x14
154 @cindex @code{extCoreRegister} directive, ARC
155 @item .extCoreRegister @var{name},@var{regnum},@var{mode},@var{shortcut}
159 .extCoreRegister mlo,57,r,can_shortcut
162 @cindex @code{extInstruction} directive, ARC
163 @item .extInstruction @var{name},@var{opcode},@var{subopcode},@var{suffixclass},@var{syntaxclass}
167 .extInstruction mul64,0x14,0x0,SUFFIX_COND,SYNTAX_3OP|OP1_MUST_BE_IMM
170 @cindex @code{half} directive, ARC
171 @item .half @var{expressions}
174 @cindex @code{long} directive, ARC
175 @item .long @var{expressions}
178 @cindex @code{option} directive, ARC
179 @item .option @var{arc|arc5|arc6|arc7|arc8}
180 The @code{.option} directive must be followed by the desired core
181 version. Again @code{arc} is an alias for
182 @code{arc@value{ARC_CORE_DEFAULT}}.
184 Note: the @code{.option} directive overrides the command line option
185 @code{-marc}; a warning is emitted when the version is not consistent
186 between the two - even for the implicit default core version
187 (arc@value{ARC_CORE_DEFAULT}).
189 @cindex @code{short} directive, ARC
190 @item .short @var{expressions}
193 @cindex @code{word} directive, ARC
194 @item .word @var{expressions}
204 @cindex opcodes for ARC
206 For information on the ARC instruction set, see @cite{ARC Programmers
207 Reference Manual}, ARC Cores Ltd.