]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gas/doc/c-rx.texi
bfd
[thirdparty/binutils-gdb.git] / gas / doc / c-rx.texi
CommitLineData
c7927a3c
NC
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
28The Renesas RX port of @code{@value{AS}} has a few target specfic
29command line options:
30
31@table @code
32
33@cindex @samp{-m32bit-doubles}
34@item -m32bit-doubles
35This option controls the ABI and indicates to use a 32-bit float ABI.
36It has no effect on the assembled instructions, but it does influence
37the behaviour of the @samp{.double} pseudo-op.
38This is the default.
39
40@cindex @samp{-m64bit-doubles}
41@item -m64bit-doubles
42This option controls the ABI and indicates to use a 64-bit float ABI.
43It has no effect on the assembled instructions, but it does influence
44the behaviour of the @samp{.double} pseudo-op.
45
46@cindex @samp{-mbig-endian}
47@item -mbig-endian
48This option controls the ABI and indicates to use a big-endian data
49ABI. It has no effect on the assembled instructions, but it does
50influence 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
55This option controls the ABI and indicates to use a little-endian data
56ABI. It has no effect on the assembled instructions, but it does
57influence the behaviour of the @samp{.short}, @samp{.hword}, @samp{.int},
58@samp{.word}, @samp{.long}, @samp{.quad} and @samp{.octa} pseudo-ops.
59This is the default.
60
61@cindex @samp{-muse-conventional-section-names}
62@item -muse-conventional-section-names
63This option controls the default names given to the code (.text),
64initialised data (.data) and uninitialised data sections (.bss).
65
66@cindex @samp{-muse-renesas-section-names}
67@item -muse-renesas-section-names
68This option controls the default names given to the code (.P),
69initialised data (.D_1) and uninitialised data sections (.B_1).
70This is the default.
71
72@cindex @samp{-msmall-data-limit}
73@item -msmall-data-limit
74This option tells the assembler that the small data limit feature of
75the RX port of GCC is being used. This results in the assembler
76generating an undefined reference to a symbol called __gp for use by
77the relocations that are needed to support the small data limit
78feature. This option is not enabled by default as it would otherwise
79pollute 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
89The assembler supports several modifiers when using symbol addresses
90in 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
110The RX version of @code{@value{AS}} has the following specific
111assembler directives:
112
113@table @code
114
115@item .3byte
116@cindex assembler directive .3byte, RX
117@cindex RX assembler directive .3byte
118Inserts 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
128The 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
138If the @option{-m64bit-doubles} command line option has been specified
139then 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
142the generation of 64-bit floating point constants used the @code{dc.d}
143directive instead.
144
145@end table