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