Unaligned block moves and MEM_ALIGN re-broken

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Fri Jan 25 05:46:00 GMT 2002


    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).



More information about the Gcc mailing list