diff options
author | DJ Delorie <dj@redhat.com> | 2011-11-29 16:36:43 -0500 |
---|---|---|
committer | DJ Delorie <dj@gcc.gnu.org> | 2011-11-29 16:36:43 -0500 |
commit | 85b8555ed3c45855b237b0f3a044eefb9382255c (patch) | |
tree | 65c814557c3c0e61f746e922c96ca834174464c4 /gcc/doc | |
parent | c360c0fb8a1dd8ef61d986671d02071075d2c0b9 (diff) | |
download | gcc-85b8555ed3c45855b237b0f3a044eefb9382255c.zip gcc-85b8555ed3c45855b237b0f3a044eefb9382255c.tar.gz gcc-85b8555ed3c45855b237b0f3a044eefb9382255c.tar.bz2 |
.
* configure.ac (rl78-*-*) New case.
* configure: Regenerate.
* MAINTAINERS: Add myself as RL78 maintainer.
libgcc
* config.host (rl78-*-elf): New case.
* config/rl78: New directory for the Renesas RL78.
gcc
* config.gcc (rl78-*-elf): New case.
* doc/extend.texi: Add RL78 documentation.
* doc/invoke.texi: Likewise.
* doc/md.texi: Likewise.
* doc/contrib.texi: Add RL78.
* doc/install.texi: Add rl78-*-elf.
* config/rl78: New directory for the Renesas RL78.
contrib
* config-list.mk (LIST): Add rl78-elf.
From-SVN: r181819
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/contrib.texi | 2 | ||||
-rw-r--r-- | gcc/doc/extend.texi | 22 | ||||
-rw-r--r-- | gcc/doc/install.texi | 7 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 27 | ||||
-rw-r--r-- | gcc/doc/md.texi | 90 |
5 files changed, 141 insertions, 7 deletions
diff --git a/gcc/doc/contrib.texi b/gcc/doc/contrib.texi index ffefecc..37e24f0 100644 --- a/gcc/doc/contrib.texi +++ b/gcc/doc/contrib.texi @@ -220,7 +220,7 @@ Mo DeJong for GCJ and libgcj bug fixes. @item DJ Delorie for the DJGPP port, build and libiberty maintenance, -various bug fixes, and the M32C and MeP ports. +various bug fixes, and the M32C, MeP, and RL78 ports. @item Arnaud Desitter for helping to debug GNU Fortran. diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index d52f9a0..7f39a61 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -1220,11 +1220,12 @@ Fixed-point types are supported by the DWARF2 debug information format. As an extension, the GNU C compiler supports named address spaces as defined in the N1275 draft of ISO/IEC DTR 18037. Support for named -address spaces in GCC will evolve as the draft technical report changes. -Calling conventions for any target might also change. At present, only -the SPU and M32C targets support other address spaces. On the SPU target, for -example, variables may be declared as belonging to another address space -by qualifying the type with the @code{__ea} address space identifier: +address spaces in GCC will evolve as the draft technical report +changes. Calling conventions for any target might also change. At +present, only the SPU, M32C, and RL78 targets support other address +spaces. On the SPU target, for example, variables may be declared as +belonging to another address space by qualifying the type with the +@code{__ea} address space identifier: @smallexample extern int __ea i; @@ -1244,6 +1245,11 @@ qualified with @code{__far} are accessed using 32-bit addresses in order to access memory beyond the first 64k bytes. If @code{__far} is used with the M32CM or M32C cpu variants, it has no effect. +On the RL78 target, variables qualified with @code{__far} are accessed +with 32-bit pointers (20-bit addresses) rather than the default 16-bit +addresses. Non-far variables are assumed to appear in the topmost 64 +kB of the address space. + @node Zero Length @section Arrays of Length Zero @cindex arrays of length zero @@ -2553,7 +2559,7 @@ This attribute is ignored for R8C target. @item interrupt @cindex interrupt handler functions Use this attribute on the ARM, AVR, Epiphany, M32C, M32R/D, m68k, MeP, MIPS, -RX and Xstormy16 ports to indicate that the specified function is an +RL78, RX and Xstormy16 ports to indicate that the specified function is an interrupt handler. The compiler will generate function entry and exit sequences suitable for use in an interrupt handler when this attribute is present. @@ -2611,6 +2617,10 @@ void __attribute__ ((interrupt, use_shadow_register_set, use_debug_exception_return)) v7 (); @end smallexample +On RL78, use @code{brk_interrupt} instead of @code{interrupt} for +handlers intended to be used with the @code{BRK} opcode (i.e. those +that must end with @code{RETB} instead of @code{RETI}). + @item ifunc ("@var{resolver}") @cindex @code{ifunc} attribute The @code{ifunc} attribute is used to mark a function as an indirect diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 46c5824..da84758 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -4140,6 +4140,13 @@ Embedded PowerPC system in little endian mode. @html <hr /> @end html +@heading @anchor{rl78-x-elf}rl78-*-elf +The Renesas RL78 processor. +This configuration is intended for embedded systems. + +@html +<hr /> +@end html @heading @anchor{rx-x-elf}rx-*-elf The Renesas RX processor. See @uref{http://eu.renesas.com/fmwk.jsp?cnt=rx600_series_landing.jsp&fp=/products/mpumcu/rx_family/rx600_series} diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 4e6edb9..265c8f0 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -778,6 +778,9 @@ Objective-C and Objective-C++ Dialects}. @emph{PowerPC Options} See RS/6000 and PowerPC Options. +@emph{RL78 Options} +@gccoptlist{-msim -mmul=none -mmul=g13 -mmul=rl78} + @emph{RS/6000 and PowerPC Options} @gccoptlist{-mcpu=@var{cpu-type} @gol -mtune=@var{cpu-type} @gol @@ -10303,6 +10306,7 @@ platform. * PDP-11 Options:: * picoChip Options:: * PowerPC Options:: +* RL78 Options:: * RS/6000 and PowerPC Options:: * RX Options:: * S/390 and zSeries Options:: @@ -15931,6 +15935,29 @@ the warning to be turned off. These are listed under @xref{RS/6000 and PowerPC Options}. +@node RL78 Options +@subsection RL78 Options +@cindex RL78 Options + +@table @gcctabopt + +@item -msim +@opindex msim +Links in additional target libraries to support operation within a +simulator. + +@item -mmul=none +@itemx -mmul=g13 +@itemx -mmul=rl78 +@opindex mmul +Specifies the type of hardware multiplication support to be used. The +default is @code{none}, which uses software multiplication functions. +The @code{g13} option is for the hardware multiply/divide peripheral +only on the RL78/G13 targets. The @code{rl78} option is for the +standard hardware multiplication defined in the RL78 software manual. + +@end table + @node RS/6000 and PowerPC Options @subsection IBM RS/6000 and PowerPC Options @cindex RS/6000 and PowerPC Options diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index 64ad833..dc87ca7 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -2979,6 +2979,96 @@ A memory reference that is encoded within the opcode. @end table +@item RL78---@file{config/rl78/constraints.md} +@table @code + +@item Int3 +An integer constant in the range 1 @dots{} 7. +@item Int8 +An integer constant in the range 0 @dots{} 255. +@item J +An integer constant in the range @minus{}255 @dots{} 0 +@item K +The integer constant 1. +@item L +The integer constant -1. +@item M +The integer constant 0. +@item N +The integer constant 2. +@item O +The integer constant -2. +@item P +An integer constant in the range 1 @dots{} 15. +@item Qbi +The built-in compare types--eq, ne, gtu, ltu, geu, and leu. +@item Qsc +The synthetic compare types--gt, lt, ge, and le. +@item Wab +A memory reference with an absolute address. +@item Wbc +A memory reference using @code{BC} as a base register, with an optional offset. +@item Wca +A memory reference using @code{AX}, @code{BC}, @code{DE}, or @code{HL} for the address, for calls. +@item Wcv +A memory reference using any 16-bit register pair for the address, for calls. +@item Wd2 +A memory reference using @code{DE} as a base register, with an optional offset. +@item Wde +A memory reference using @code{DE} as a base register, without any offset. +@item Wfr +Any memory reference to an address in the far address space. +@item Wh1 +A memory reference using @code{HL} as a base register, with an optional one-byte offset. +@item Whb +A memory reference using @code{HL} as a base register, with @code{B} or @code{C} as the index register. +@item Whl +A memory reference using @code{HL} as a base register, without any offset. +@item Ws1 +A memory reference using @code{SP} as a base register, with an optional one-byte offset. +@item Y +Any memory reference to an address in the near address space. +@item A +The @code{AX} register. +@item B +The @code{BC} register. +@item D +The @code{DE} register. +@item R +@code{A} through @code{L} registers. +@item S +The @code{SP} register. +@item T +The @code{HL} register. +@item Z08W +The 16-bit @code{R8} register. +@item Z10W +The 16-bit @code{R10} register. +@item Zint +The registers reserved for interrupts (@code{R24} to @code{R31}). +@item a +The @code{A} register. +@item b +The @code{B} register. +@item c +The @code{C} register. +@item d +The @code{D} register. +@item e +The @code{E} register. +@item h +The @code{H} register. +@item l +The @code{L} register. +@item v +The virtual registers. +@item w +The @code{PSW} register. +@item x +The @code{X} register. + +@end table + @item RX---@file{config/rx/constraints.md} @table @code @item Q |