Contact IAR Systems
Home Products Support Resources Downloads About us Contact My Pages
Development kits Compilers and debuggers RTOS, TCP/IP, USB, GUI State machine tools Debug probes Solutions Ordering information
 
Product News
Product packages
Supported devices
User guides
Benchmark test results
 
 
 
 
 
Products   >   Compilers and debuggers   >   Renesas M16C / R8C   >   Benchmark test results   >  

Benchmark test results for M16C C/C++ compilers

Version 3.30 of IAR Embedded Workbench® for Renesas M16C and R8C (EWM16C) is based on the latest compiler and debugger technology. In addition to all the powerful and unique features introduced, version 3.30 generates the most compact code on the market.

Tools in benchmark test

This benchmark compares the total size of linked code and constants between the following tools:

  • IAR Embedded Workbench for M16C - v3.30 (options: -e -Ohz --use_DIV --data_model=near --variable_data=near --constant_data=far)
  • Renesas NC30 - v5.42r0 (options: --c -v -ORM fnear_ROM)
  • GNU M16C32C - v0803 (options: -c -Os -fno-function-cse -funit-at-a-time -falign-jumps -fdata-sections -ffunction-sections -Wl, --gc-sections), M16C/M32C optimized GNU libraries used.

 

Note:

1) IAR XLINK linker™ has the ability to remove un-referenced segment parts. This feature is not present in the other tools and therefore, the option -g* was used to disable this feature.

 

2) GNUM16CM32C limitations: The GNUM16CM32C compiler is designed with 16 bit pointer size only (first 64KB). However, constant data resides the ROM region at 20-bit addresses. Therefore, constant data must be copied from ROM to RAM during startup leading to a waste of RAM. Another effect off the 16-bit pointer size limitation is that pointers in far memory pointing to data in near memory, are not supported.

Results

 
Click to see larger image.
 
Click to see larger image.
 
In average, EWM16C generates 32% and 50% smaller code respectively than N30 and GNUM16C.

Benchmark code examples

The following code examples are used in this benchmark:

Rexexp

 

Web server
Microwave sensor

Spirometer

 

Temp.mon
Bluetooth
Regular expression scanner. Uses search string with special characters to match patterns of text.
Web server application
Microwave sensor application
Device that determines how well the lungs receive, hold, and utilize air, to monitor a lung disease.
Temperature monitoring device
Bluetooth stack
 

Download

 

In-depth information

 

More M16C/R8C tools

 

Tools from our partners