This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Unaligned block moves and MEM_ALIGN re-broken
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: dje at watson dot ibm dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 25 Jan 02 07:26:44 EST
- Subject: Re: Unaligned block moves and MEM_ALIGN re-broken
You previously said that DImode was the right mode
(http://gcc.gnu.org/ml/gcc/2001-11/msg00399.html) because "GCC should
choose an integral mode for a struct as often as it can since that will
allow objects of that type to be put in registers."
(http://gcc.gnu.org/ml/gcc/2001-11/msg00381.html)
Right. But it can only put it in registers if the alignment permits it.
DImode represents the size of the object, not the alignment.
No, it represents *both*. It refers to a 64-bit object whose
alignment is MIN (64, BIGGEST_ALIGNMENT).