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: alignment: store_one_arg vs emit_push_insn


On Fri, May 09, 2003 at 08:27:56PM -0400, DJ Delorie wrote:
> The problem is that the alignment is used to choose a move_by_pieces
> mode, and HImode is chosen, and the object we're copying *from* is not
> HI-aligned.

Clearly this is all confused.  There's no need to glean the value
of the argument from a passed in "align" parameter.  If the value
is in memory then MEM_ALIGN will contain the proper alignment.
True, MEM_ALIGN did not exist when this routine was written, but
that doesn't mean we can't clean this up now.

I think both move_by_pieces and emit_push_insn should be reorged
and clarified that the alignment parameter applies only to the 
stack (i.e. to==NULL in the move_by_pieces case).



r~


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