This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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: Recent change to mips_output_move


Eric Christopher <echristo@redhat.com> writes:
> > > So that we're not getting unexpected sign extends on some platforms and
> > > not on others (bcm1250). This way, we're just moving a value, nothing
> > > more.
> > 
> > Could you be more specific about when this makes a difference?
> > I.e. in what cases are we using a 32-bit move on a GPR that isn't
> > properly sign-extended?  In what cases is it valid to do that?
> 
> We're getting a few unpredictible failures on mipsisa64-elf still (the
> longlong tests). On the sb1250 we can't depend on implicit
> sign-extension of any op that doesn't say it sign extends in the spec.
> 
> Moving to an 'or' will give us the least amount of surprise here.

That doesn't really answer the question though ;)  How do these
tests end up with an addiu move in which the source operand is
not sign extended?

Besides, I thought the change you were suggesting was to use "addiu"
instead of "or".  That change will only affect 32-bit code, won't it?
How does it affect mipsisa64-elf?

Richard


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