This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: MIPS gas relaxation still doesn't work
- From: Jim Wilson <wilson at redhat dot com>
- To: "Maciej W. Rozycki" <macro at ds2 dot pg dot gda dot pl>
- Cc: Alexandre Oliva <aoliva at redhat dot com>, "H. J. Lu" <hjl at lucon dot org>, "David S. Miller" <davem at redhat dot com>, rsandifo at redhat dot com, linux-mips at linux-mips dot org, gcc at gcc dot gnu dot org, binutils at sources dot redhat dot com
- Date: 16 Oct 2002 12:43:30 -0400
- Subject: Re: MIPS gas relaxation still doesn't work
- References: <Pine.GSO.3.96.1021016124113.14774D-100000@delta.ds2.pg.gda.pl>
> Still for "-mips2" the code is not exactly perfect:
I'm guessing that gas is only doing one pass. When it first looks at the
first load, the nop is necessary. When it later moves the second load into
the branch delay slot, it doesn't go back and check to see if the nop after
the first load is still necessary. To get this perfect, we would have to
add global optimization support to gas, so that it considered all nop
insertions and branch delay slot filling all at the same time, and iterated
until it got the best code. I think it is pointless to do this kind of
stuff in an assembler when we already have an optimizing compiler that already
has infrastructure to do this kind of stuff.
Jim