Excellent, these pages didn't appear when I tried a Google search.
Well, it's a good thing, at least there's some competition

I can see that the second page has a link to my first experiment with LCC backends (7 years ago ?), improving Ian Stephenson's 32 bit back-end for the 6502 ("a 6502 emulating a VAX").
A lot of water has flowed since : several years ago, I wrote a completely new LCC backend for the 6502, taking advantage of the 6502 addressing modes. This is what I call lcc65, an old version for the Oric is available here :
http://oric.free.fr/software.html
but the latest versions are now integrated in the OSDK (Oric Software Development Kit), that can be downloaded here :
http://www.defence-force.org/computing/ ... /index.htm
(you will also notice at the end of the first page, the presumably only one GCC for the 65C02 (yes, Gnu C)).
Ok, so, it seems it's time for some comparative review. Who wants to benchmark lcc65 .vs. cc65 .vs. gcc65 .vs. icc6502 (from IAR's embedded workbench) ? I would gladly do it, but I could be taxed of partiality (e.g exhibiting some cc65 bugs

)
Ok, bugs and floats apart (lcc65 has support for floats, unlike most of the other compilers), benchmarks for the quality of code could be interesting (time and space issues). E.g: the simple eratosthene sieve benchmark
Code: Select all
#define SIZE 10000
char flags[SIZE];
main()
{
int i, prime, k, count=0;
for(i=0;i<size;i++)
if (!flags[i]) {
prime = i + i + 3;
for (k=i+prime; k<size ; k+=prime) flags[k]=1;
count++;
}
printf("\n%d primes :\n", count);
}
runs in 5.62" on the Oric platform when compiled with cc65 -O -Oir, and 4.89" when compiled with lcc65 -O3. Such black box benchmarks might not be enough for a precise comparative review, and not easy to run on the same platform. So, a deeper look at the generated assembly code could be necessary for a stronger review. Anyone interested ?
Cheers to all,
Fabrice
PS: here is an example of what my new 65802 generator is able to generate:
http://oric.free.fr/COMPILERS/test1.txt