This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Measuring alignment
- To: law at cygnus dot com
- Subject: Re: Measuring alignment
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Thu, 30 Mar 00 13:14:51 EST
- Cc: gcc-patches at gcc dot gnu dot org
Richard -- did you run the testsuite? If so, for what target?
Alpha. These are notoriously machine-specific.
I believe both problems are due to a problem in move_pieces_ninsns:
if (! SLOW_UNALIGNED_ACCESS (word_mode, align)
|| align > MOVE_MAX * BITS_PER_UNIT || align >= BIGGEST_ALIGNMENT)
align = MOVE_MAX;
At some point align needs to be scaled by BITS_PER_UNIT since the
value passed in as well as MOVE_MAX is in bytes while later code
assumes it is in bits.
No, align is now *always* supposed to be in *bits*. MOVE_MAX is indeed
in bytes.
Richard, can you please clean this up since it appears you broke this
stuff?
I believe that code is now correct.