> If tail recursion were completely target independent (and an> optimization), I don't see why not all compilers would Just Do It.> Especially GCC in Intel doesn't do it (except maybe for> self-tail-recursion),

GCC does perform tail-call optimization on i386 for the SYSV ABI
(non-PIC). The calling convention is quite unproblematic in this
regard. Other architectures feature things like caller-saved
registers which are clobbered by inter-module calls, and tail calls
conforming to the platform ABI are very hard (if not impossible).