Status of the MMIX GCC port: runs testsuite. Time to check in?

Phil Jensen pjensen@columbus.rr.com
Mon Feb 21 07:19:00 GMT 2000


On Sun, 20 Feb 2000, Hans-Peter Nilsson wrote:

> ...

> Summary:
> - GCC compiles and works for trivial useless programs.

Congratulations!

> ...
> - 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.

  Phil



More information about the Gcc mailing list