linux-mips
[Top] [All Lists]

Re: MIPS gas relaxation still doesn't work

To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Subject: Re: MIPS gas relaxation still doesn't work
From: Jim Wilson <wilson@redhat.com>
Date: 16 Oct 2002 12:43:30 -0400
Cc: Alexandre Oliva <aoliva@redhat.com>, "H. J. Lu" <hjl@lucon.org>, "David S. Miller" <davem@redhat.com>, rsandifo@redhat.com, linux-mips@linux-mips.org, gcc@gcc.gnu.org, binutils@sources.redhat.com
In-reply-to: <Pine.GSO.3.96.1021016124113.14774D-100000@delta.ds2.pg.gda.pl>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <Pine.GSO.3.96.1021016124113.14774D-100000@delta.ds2.pg.gda.pl>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7
>  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

<Prev in Thread] Current Thread [Next in Thread>