This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: ia32 is dead, long live ia32
- From: Ian Lance Taylor <iant at google dot com>
- To: Rask Ingemann Lambertsen <rask at sygehus dot dk>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: 12 Sep 2006 18:36:36 -0700
- Subject: Re: ia32 is dead, long live ia32
- References: <20060827182514.GE29852@sygehus.dk>
Rask Ingemann Lambertsen <rask@sygehus.dk> writes:
> > Wed Sep 1 21:13:48 1999 Richard Henderson <rth@cygnus.com>
> >
> > Merge new ia32 backend from the branch!
> >
> > * i386.h, i386.c, i386.md, reg-stack.c, i386/unix.h: Many changes.
> > See ChangeLog.P2 on new_ia32_branch for details.
>
> > Index: gcc/config/i386/i386.c
> > ===================================================================
> > --- gcc/config/i386/i386.c (revision 29043)
> > +++ gcc/config/i386/i386.c (revision 29044)
> [...]
> > +static int
> > +ix86_decompose_address (addr, out)
> > + register rtx addr;
> > + struct ix86_address *out;
> > +{
> [...]
> > + /* Special case: encode reg+reg instead of reg*2. */
> > + if (!base && index && scale && scale == 2)
> ^^^^^^^^^^^^^^^^^^^
> > + base = index, scale = 1;
>
> It looks weird to check that scale is nonzero before checking that it is
> two.
I think removing "scale &&" counts as obvious.
I'll preapprove it in any case.
Ian