GNU CC port to the Motorola 88000
Mon, 30 Nov 1992 04:50:02 GMT

          From comp.compilers

Related articles
GNU CC port to the Motorola 88000 (1992-11-27)
GNU CC port to the Motorola 88000 (1992-11-30)
| List of all articles for this month |

Newsgroups: comp.compilers
Organization: Compilers Central
Date: Mon, 30 Nov 1992 04:50:02 GMT
References: 92-11-152
Keywords: 88000, GCC, optimize

| Just how *good* is the code generator/optimiser in GCC?

Tom Wood (the current maintainer of the 88k GCC port) says that the
current 2.3.x GCC is the 'best' 88k compiler currently on the market.
I remember that when I was working on the 1.37-based compiler with
Tom, it was within hailing range of the GreenHills compiler (register
allocation and integer code was usually better, floating point
slower). Since I haven't used the 88k backend, since I moved to OSF
(I've been working on the MIPS backend), I'll let Tom provide the
actual numbers....

| I'm doing a 1 year Master's course in the University of Limerick, Ireland,
| and my project is to port GCC to the Motorola 88100 RISC processor.
| However, I now see that it has already been done, and from what I can
| gather by reading the documentation, it has been done quite well.
| Can I (not knowing very much about compilers now) reasonably expect to
| improve on what's there already within the 9 months before I finish this
| course?

I suspect that purely local optimizations may be already mined out by
now in the 88k port. You might want to consult the PROJECTS file for
machine independent optimizations that people have thought about, but
not yet implemented. From my viewpoint (of somebody who has worked on
GCC for 4 years), the most important things to do are:

      1) Better CSE.
      2) Rethink the whole register allocation/reload phases.
      3) Generatation and integration of runtime feedback.

| Where can I find more detailed documentation on the port to the m88k? (
| And how much will it cost for that documentation? )

Gee, and I thought Michael Tiemann, Tom, and I had put in reasonably
detailed comments into the source :-). Seriously, from my
experience, it takes a couple of weeks or months until reading the md
file becomes second nature. There is also the course Richard Stallman
teaches at USENIX about the compiler internals.

| How much rewriting/fine-tuning of the whole compiler (not just the code-
| generator/optimiser) would be necessary?

For all of the 'mature' GCC ports (I would count Sparc, 68k, mips,
88k, vax as mature -- I'm not sure yet about rs6000 and 386), I
suspect that you would probably need to add code primarily to the
machine independent parts of the compiler, and then tune the machine
dependent parts to use the new feature.

Then of course, the second step is polishing the code so that it is
acceptable to be folded into the FSF release. You have to worry about
the effect on machine ports that do not use your new feature, to make
sure it does not break them, or cause slower code to be generated.

| Any help or information would be much appreciated.
| Yours,
| Niall Creedon.
| [Didn't Michael Meissner do that port? Perhaps he can comment. -John]

Michael Tiemann wrote the original 88k machine description, I took it
over and polished it, then Tom Wood joined me, and a couple of months
later, I left Data General, leaving the 88k backend in Tom's hands.

Michael Meissner email: phone: 617-621-8861
Open Software Foundation, 11 Cambridge Center, Cambridge, MA, 02142

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.