MIPS gas relaxation still doesn't work

H. J. Lu hjl@lucon.org
Mon Oct 14 11:01:00 GMT 2002


On Mon, Oct 14, 2002 at 02:58:04PM -0300, Alexandre Oliva wrote:
> 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).

Why do we need nop? Why do we need noreorder?


H.J.



More information about the Binutils mailing list