Updated Toolchains (2017q1) Available for Renesas RX & RL78 Targets

We are releasing new versions of the toolchains for two of the most popular Renesas targets: the RX and RL78 families.

The release notes for each of these platforms may be found below, covering what changes each of these new releases bring:

  • GCC for Renesas (Windows | Linux)
    1. (Improvement) New peephole optimization: use 16-bit moves instead of certain pairs of 8-bit moves (code size and speed improvement)
    2. (Improvement) New RTL patterns for logical operations (“cstoreqi4” and “cstorehi4”), bit manipulation (“insvmisalign_qi”), switch statements (“casesi”), 8-bit arithmetic operations (“udivqi3” and “umodqi3”)
    3. (Improvement) Improved SFR addressing (code size reduction)
    4. (Improvement) Linker relaxation enabled by default when optimizing for size (-Os) lead to improved section discarding (sensible code & data size reduction for some executables)
    5. (Improvement) Smaller memory footprint of the libgcc library
    6. (Improvement) Removed limitation requiring the use of the obsolete 8.3 naming convention for files in libgen
    7. (Improvement) Added snprintf support for Optlib
    8. (Bug-Fix) Fixed a rare case when a function argument was overwritten on the stack when optimizing for size (-Os)
    9. (Bug-Fix) Fixed an internal error happening when performing a 32-bit right shift on a __far function Argument
    10. (Bug-Fix) Fixed a couple of multiplication-related primitives that returned incorrect results on G13 MCUs
  • GCC for Renesas (Windows | Linux)
    1. (Improvement) We adjusted the scheduler to get the best code size results. The new register allocation order ‘-morder0’ is the default, the Renesas allocation order remained the same ‘-morder1’ and the old RedHat order is available by using the ‘-morder2’ option.
    2. (Improvement) Smaller memory footprint of the libgcc library.
    3. (Improvement) Added snprintf support for Optlib.
    4. (Bug Fix) We fixed the internal compiler error from cselib_recod_set and the ‘Read from unwritten memory’ errors caused by ‘-morder1’

Just as with the previous release, the Linux installer for both toolchains now offers command-line flags to automate execution as much as possible, as well as the ability to also act as an uninstaller for the toolchains. With this update, the installer can both install and uninstall the toolchain from one or more paths from your Linux distribution.

Finally, the release notes for both toolchains also include a list of the currently known issues, which will be resolved in the coming updates.

We greatly value your feedback, so please let us know if you have any questions or comments.

Leave a Reply