This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Porting GCC to MMIX


If someone has done or is doing work on such a port, speak up.
If not, I'll commence work on a GCC port to MMIX, for programs
to run in the MMIX simulator (configuration name suggestion:
"mmix-unknown-sim").

Professor Donald Knuth's 64-bit MMIX architecture is described
at <URL:http://www-cs-faculty.stanford.edu/~knuth/mmix.html>.
A group of volunteers are at <URL:http://www.mmixmasters.org/>.
There's an assembler and a simulator (see the links).

IMHO this is enough to make work feasible on a GCC port
independently of a binutils port (suggestion: ELF and an
objformat port for the MMO format), which seems eventually
necessary since the MMO format is not relocatable.

To my eyes, this ISA is not just gedanken, although it has a
little bit too many registers (256) for the good of code density
and system interaction.  But hey, I am not really worthy to
criticize Don Knuth. :-]

Question to the GCC steering committee, mmixmasters and those
who care:  Is it best (for some definition of best), that all
work be done here in the GCC project, or should we return with
something that 1) compiles, 2) something that can compile
something else, or 3) a complete port, or 4) none of the above?

Yes, this has a spooky correlation in time, yet unrelated to
the appearance of <URL:http://gcc.gnu.org/contributewhy.html>.
 To avoid cathedralization completely (in the spirit of open
development and what I read into contributewhy.html), I guess
each of the port-specific files and config file changes *could*
be submitted and checked in independently (for the sake of
review).  In reality, I guess a trivial port which just about
compiles (1) but with limitations and no serious ABI beyond what
Knuth writes, would be best.

As GCC people know, copyright assignment to the FSF as well as
other info in <URL:http://gcc.gnu.org/contribute.html> is
necessary for contributors, so the port can be acceptable for
the GCC distribution.

For me this is a playtime project, meaning let's make it fun
(and make sure no-one is harmed).

brgds, H-P




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]