From: Philipp Klaus Krause <pkk@sp...> - 2012-05-13 08:43:27
-----BEGIN PGP SIGNED MESSAGE-----
I sometimes wonder how sdcc compares to other compilers for the same
architecture and do a comparison on the set of files I also use for
comparing different sdcc versions
(http://colecovision.eu/stuff/testbench.tar.gz e.g. for the graph at
this might be interesting for some of you here's yesterday's findings
sdcc-m08: AFAIK it is an old unmaintained fork of sdcc, so I didn't
bother putting effort into it when it didn't work out-of-the-box for me.
ImageCraft ICC08: I only had access to a Windows 7 system yesterday,
and the compiler doesn't work on Vista and newer. The vendor knows it,
and does not intend to fix it since this compiler is no longer maintained.
ByteCraft C6808: Compiled 3 out of my 14 test functions, failed for
all others. Generated compact code for these three. Has horrible
default settings (int is 8 bits by default!).
Comsmic C for hc08: Compiled all functions, total code size for them
was 1922 bytes. Places auto variables on stack, so recursion works.
Codewarrior for s08: Compiled all functions, total code size for them
was 1740 bytes. Places auto variables on stack, so recursion works.
sdcc before merge of new register allocator with --opt-code-size:
Compiled all functions, total code size for them was 4819 bytes. Does
not places auto variables on stack by default, so recursion doesn't work.
Current sdcc with --opt-code size: Compiled all functions, total code
size for them was 3513 bytes. Does not places auto variables on stack
by default, so recursion doesn't work.
This is quite a gap in code size of sdcc vs. the current
state-of-the-art non-free compilers. I'll look closer at the generated
code today, to see what could be done to improve sdcc code quality.
- From the first impression it already seems that features that were
already discussed here or are implemented in other ports could help a lot.
I'll also put up a hc08 code size comparison page on the wiki similar
to the one for z80.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
-----END PGP SIGNATURE-----