"Adrian Wadey" <adri...@ssosystems.com> writes: > I'm new to GCC and was wondering if anyone has done work on a back end for > small micros such as microchip PICs? It is something I'd like to work on > but would like to know if there are any reasons why GCC only appears to have > back ends for larger format CPUs.
People have written backends for relatively small processors such as the H8. In general it depends on how small is small. Often very small processors are not particularly orthogonal and have few registers, and it is hard for gcc to generate code which is better than hand-coded assembler. In particular, given the small amounts of memory available for small processors, it's hard for gcc to generate code which is smaller than hand-coded assembler. gcc is inherently tuned to generate code code for an orthogonal processor with lots of registers. The more a processor deviates from the model, the harder you have to work to get good code. Ian