Re: Thompson's 2c vs. gcc
Fri, 5 Feb 1993 23:39:31 GMT

          From comp.compilers

Related articles
Re: Architecture description languages for compilers? (1993-01-28)
Thompson's 2c vs. gcc (Michael John Haertel) (1993-01-29)
Re: Thompson's 2c vs. gcc (1993-02-02)
Re: Thompson's 2c vs. gcc (Michael John Haertel) (1993-02-04)
Re: Thompson's 2c vs. gcc (1993-02-04)
Re: Thompson's 2c vs. gcc (1993-02-05)
Re: Thompson's 2c vs. gcc (1993-02-05)
| List of all articles for this month |

Newsgroups: comp.compilers
Keywords: architecture, GCC
Organization: Compilers Central
References: 93-01-205 93-02-057
Date: Fri, 5 Feb 1993 23:39:31 GMT

Joe Buck writes:
| It wasn't just that [MIPS gcc 1.x] was not well tuned. It did not have an
| instruction scheduler and could not fill delayed branch slots. gcc-2 does
| both. I understand that this makes a difference of about 30% on the
| Sparc; the number is probably similar on the MIPS. gcc-1 did a good job
| on the CISC architectures (Vax and 680x0) it was initially designed for.

Actually the number is not similar on the MIPS. The reason is that the
MIPS assembler does low level instruction scheduling (though I don't
recall whether gcc 1.35 and such passed -O to the assembler, but I think
it did). I did put in scheduling and branch delay slot filling support in
Gcc 2.x for the MIPS (because for the OSF/1 Pmax reference platform, we
used GAS as the assembler, and it doesn't do instruction scheduling).

One big win that Gcc 2.xx has (and later versions of gcc-osf-1.39 if you
used -O2) is that it uses a constant frame (providing you don't use
alloca), rather than continually pushing and popping items from the stack
pointer, and eliminating the frame pointer in most cases, freeing up
another saved register. There were other places where it definately
needed a tuneup, and hopefully it is reasonably tuned now.
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.