This is the mail archive of the gcc@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: question regarding regrename and failure of 950704-1.c on main


In message <200205092121.g49LLNtM005497@hiauly1.hia.nrc.ca>, "John David Anglin
" writes:
 > > But why did we end up with DImode value in reg23?  That's the 
 > > underlying problem -- HARD_REGNO_MODE_OK should have rejected
 > > putting a DImode value in reg23.
 > 
 > Two long longs are passed to f (x, y) in r23-r24 and r25-r26.
True, but if you look you'll find that they're packed in the wrong manner
as register arguments (ie the order for passing them in registers is not
the order in which we want to use them elsewhere).  They get copied out and
repacked into proper order immediately after the prologue.

HARD_REGNO_MODE_OK should still have prevented regrename from mucking this up.

jeffk


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