Benchmark results for SuperH

Leading code optimizations

IAR Embedded Workbench  generates very compact code for SuperH-based applications.

Tools used

IAR Embedded Workbench (EW) for SuperH v2.10
Options used:-e -Ohz --double=32 --code_model=medium --data_model=medium --core=sh2afpu --dlib_config=dlib_defaults.h

Renesas HEW for SuperH v9.3
Compiler options used:-cpu=sh2afpu, -debug, -size, -goptimize, -gbr=auto, -chgincpath, -errorpath, -global_volatile=0, -opt_range=all, -infinite_loop=0, -del_vacant_loop=0, -struct_alloc=1, -lang=c, -nologo, -fpu=single


The benchmark tests were done using real customer applications, reflecting different application areas and different use of the C and C++ languages.

On average, IAR Embedded Workbench produced code only 85,7% the size of the code produced by the Renesas compiler.

Customer code example HEW  EW EW vs HEW
blowfish  8503  7446  87,6%
dyn_array 9872  6882  69,7%
Reed_Solomon_dec 10803  8370  77,5%
decrypt  11063  8498  76,8%
Spirometer  23036  22234  96,5%
egexp 25506 12354  48,4%
microwave_sensor  35210  26500  75,3%
modeit  41390  31800  76,8%
temp_display  72718 59994  82,5%
bt_stack 86474  71735  83,0%
engine_control  132827  132519  99,8%
generator_contr 235496  205416  87,2%

The following code examples, covering most embedded application areas, were used in this benchmark:

blowfish  Blowfish algorithm
bt_stack  Bluetooth protocol stack
decrypt  Functions to descramble encrypted multimedia content
dyn_array Dynamic array allocation
engine_control Engine control application
generator_contr Generator control application
microwave_sensor  Microwave sensor for measurement of moisture in bins
modeit  Internet application with TCP/IP stack
reed_solomon_decoder Reed-Solomon decoder
spirometer  Spirometer. Device that determines how well the lungs receive, hold, and utilize air, to monitor a lung disease
temp_display  Temperature logger

© IAR Systems 1995-2016 - All rights reserved.