linux-mips
[Top] [All Lists]

Re: MIPS gas relaxation still doesn't work

To: "H. J. Lu" <hjl@lucon.org>
Subject: Re: MIPS gas relaxation still doesn't work
From: Alexandre Oliva <aoliva@redhat.com>
Date: 14 Oct 2002 14:58:04 -0300
Cc: Richard Sandiford <rsandifo@redhat.com>, linux-mips@linux-mips.org, gcc@gcc.gnu.org, binutils@sources.redhat.com
In-reply-to: <20021014105055.B30830@lucon.org>
Organization: GCC Team, Red Hat
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20021012113423.A27894@lucon.org> <20021013145423.A10174@lucon.org> <20021014082810.A28682@lucon.org> <wvnit05ovct.fsf@talisman.cambridge.redhat.com> <20021014091649.A29353@lucon.org> <wvnfzv9ou6j.fsf@talisman.cambridge.redhat.com> <20021014101640.A30133@lucon.org> <orhefo3oht.fsf@free.redhat.lsd.ic.unicamp.br> <20021014105055.B30830@lucon.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2
On Oct 14, 2002, "H. J. Lu" <hjl@lucon.org> wrote:

> On Mon, Oct 14, 2002 at 02:43:26PM -0300, Alexandre Oliva wrote:
>> On Oct 14, 2002, "H. J. Lu" <hjl@lucon.org> wrote:
>> 
>> > The problem here is when gcc fills the delay slot with nop, it kills
>> > branch relaxation.
>> 
>> It wouldn't if only the delay slot was enclosed in .set nomacro.

> What do you mean by that?

Instead of:

.set noreorder
.set nomacro
b foo
nop
.set macro
.set reorder

perhaps we could emit:

.set noreorder
b foo
.set nomacro
nop
.set macro
.set reorder


Since b foo wouldn't be affected by nomacro, branch relaxing could
fix it up (the relaxations are delay-slot-safe).

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                 aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer

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