Merge branch 'vendor/NCURSES'
[dragonfly.git] / contrib / binutils-2.21 / gas / doc / c-rx.texi
1 @c Copyright 2008, 2009
2 @c Free Software Foundation, Inc.
3 @c This is part of the GAS manual.
4 @c For copying conditions, see the file as.texinfo.
5 @ifset GENERIC
6 @page
7 @node RX-Dependent
8 @chapter RX Dependent Features
9 @end ifset
10 @ifclear GENERIC
11 @node Machine Dependencies
12 @chapter RX Dependent Features
13 @end ifclear
14
15 @cindex RX support
16 @menu
17 * RX-Opts::                   RX Assembler Command Line Options
18 * RX-Modifiers::              Symbolic Operand Modifiers
19 * RX-Directives::             Assembler Directives
20 * RX-Float::                  Floating Point
21 @end menu
22
23 @node RX-Opts
24 @section RX Options
25 @cindex options, RX
26 @cindex RX options
27
28 The Renesas RX port of @code{@value{AS}} has a few target specfic
29 command line options:
30
31 @table @code
32
33 @cindex @samp{-m32bit-doubles}
34 @item -m32bit-doubles
35 This option controls the ABI and indicates to use a 32-bit float ABI.
36 It has no effect on the assembled instructions, but it does influence
37 the behaviour of the @samp{.double} pseudo-op.
38 This is the default.
39
40 @cindex @samp{-m64bit-doubles}
41 @item -m64bit-doubles
42 This option controls the ABI and indicates to use a 64-bit float ABI.
43 It has no effect on the assembled instructions, but it does influence
44 the behaviour of the @samp{.double} pseudo-op.
45
46 @cindex @samp{-mbig-endian}
47 @item -mbig-endian
48 This option controls the ABI and indicates to use a big-endian data
49 ABI.  It has no effect on the assembled instructions, but it does
50 influence the behaviour of the @samp{.short}, @samp{.hword}, @samp{.int},
51 @samp{.word}, @samp{.long}, @samp{.quad} and @samp{.octa} pseudo-ops.
52
53 @cindex @samp{-mlittle-endian}
54 @item -mlittle-endian
55 This option controls the ABI and indicates to use a little-endian data
56 ABI.  It has no effect on the assembled instructions, but it does
57 influence the behaviour of the @samp{.short}, @samp{.hword}, @samp{.int},
58 @samp{.word}, @samp{.long}, @samp{.quad} and @samp{.octa} pseudo-ops.
59 This is the default.
60
61 @cindex @samp{-muse-conventional-section-names}
62 @item -muse-conventional-section-names
63 This option controls the default names given to the code (.text),
64 initialised data (.data) and uninitialised data sections (.bss).
65
66 @cindex @samp{-muse-renesas-section-names}
67 @item -muse-renesas-section-names
68 This option controls the default names given to the code (.P),
69 initialised data (.D_1) and uninitialised data sections (.B_1).
70 This is the default.
71
72 @cindex @samp{-msmall-data-limit}
73 @item -msmall-data-limit
74 This option tells the assembler that the small data limit feature of
75 the RX port of GCC is being used.  This results in the assembler
76 generating an undefined reference to a symbol called __gp for use by
77 the relocations that are needed to support the small data limit
78 feature.   This option is not enabled by default as it would otherwise
79 pollute the symbol table.
80
81 @end table
82
83 @node RX-Modifiers
84 @section Symbolic Operand Modifiers
85
86 @cindex RX modifiers
87 @cindex syntax, RX
88
89 The assembler supports several modifiers when using symbol addresses
90 in RX instruction operands.  The general syntax is the following:
91
92 @smallexample
93 %modifier(symbol)
94 @end smallexample
95
96 @table @code
97 @cindex symbol modifiers
98
99 @item %gp
100 @c FIXME: Add documentation here.
101
102 @end table
103
104 @node RX-Directives
105 @section Assembler Directives
106
107 @cindex assembler directives, RX
108 @cindex RX assembler directives
109
110 The RX version of @code{@value{AS}} has the following specific
111 assembler directives:
112
113 @table @code
114
115 @item .3byte
116 @cindex assembler directive .3byte, RX
117 @cindex RX assembler directive .3byte
118 Inserts a 3-byte value into the output file at the current location.
119
120 @end table
121
122 @node RX-Float
123 @section Floating Point
124
125 @cindex floating point, RX
126 @cindex RX floating point
127
128 The floating point formats generated by directives are these.
129
130 @table @code
131 @cindex @code{float} directive, RX
132
133 @item .float
134 @code{Single} precision (32-bit) floating point constants.
135
136 @cindex @code{double} directive, RX
137 @item .double
138 If the @option{-m64bit-doubles} command line option has been specified
139 then then @code{double} directive generates @code{double} precision
140 (64-bit) floating point constants, otherwise it generates
141 @code{single} precision (32-bit) floating point constants.  To force
142 the generation of 64-bit floating point constants used the @code{dc.d}
143 directive instead.
144
145 @end table