This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: STUB_MOVE in elfxx-mips.c


Richard Henderson <rth@redhat.com> writes:

> On Wed, Oct 01, 2003 at 11:29:36AM -0700, Ian Lance Taylor wrote:
> > Sure.  As I said, it seemed to me at the time that `add' would never
> > be slower than `or', so it seemed reasonable to always use `add' as
> > the implementation of the `move' pseudo-op.  Which is what the
> > assembler does today.  And it still seems reasonable to me.
> 
> Problem is, that on everyone except one chip, add sign-extends,
> and or doesn't.  Which leads to very subtle bugs.

I don't think those bugs will be fixed by changing the definition of
`move'.  That is, some will no doubt be fixed, but if you aren't
telling the assembler the truth about the register size, then other
subtle bugs seem likely to remain.

But I would not object to changing the definition of `move' back to
`or'.

Also, perhaps the compiler shouldn't generate the `move' pseudo-op,
but should generate the instruction it really wants.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]