Reading this email from <tm_gccmail at mail dot kloo dot net> sent on this mailing list in(2003): https://gcc.gnu.org/ml/gcc/2003-03/msg01402.html I agree with quasi all statements. On the first is written: o Few or no general-purpose registers Many microcontrollers use an accumulator-based architecture, which does not work with common register allocation algorithms at all, so you wind up emulating general-purpose registers using strange techniques. Also, stack-based architectures are difficult to accommodate as well. Applies to: 68HC11, 8051, Z80, 6502, PicoJava, x86 FPU, etc. I've some doubts on this: "stack-based architectures are difficult to accommodate as well" Can someone explain better this? If I remember well the C uses the stack for local variable storage, does he refer to those architectures which are completely stack oriented (GPR not present)? Thank you in advance Claudio