Status of the MMIX GCC port: runs testsuite. Time to check in?
Mon Feb 21 07:19:00 GMT 2000
On Sun, 20 Feb 2000, Hans-Peter Nilsson wrote:
> - GCC compiles and works for trivial useless programs.
> - An ABI is sketched. The ABI suggested by Knuth does not
> fit exactly, but I'll add support to interface to code written
> for that ABI.
I don't understand this. It seems to me that the ABI implied by
the Knuth docs should not need changing. Now, admittedly, it needs
_extension_ to handle parameters, return values, and local variables
that don't fit in registers. So a dedicated stack pointer does seem
essential. Functions that need memory-located locals, or that need to
pass "large" values to functions they call, would use space on this
stack; many functions would be able to ignore its existence.
I am willing to believe that GCC doesn't understand the possibility
of a register-stack architecture like this one, but it seems awful
that such a gap in GCC's (present) world view should be used as a
reason to disturb what, from an assembly-language programmer's
point of view, is such an elegant design.
I strongly urge that the ABI you describe should be viewed as a
stopgap, to allow testing of GCC in other respects, until someone
delves deeply enough into GCC to get it to understand how MMIX is
_intended_ to work.
Again, I certainly mean no disparagement of the work you have done,
and would like to learn more about why this architecture presents
a problem for GCC.
More information about the Gcc