stor-layout.c (get_mode_alignment): make it work when BITS_PER_UNIT is not a power of two.
* stor-layout.c (get_mode_alignment): make it work when BITS_PER_UNIT is not a power of two. * builtins.c (get_pointer_alignment): Likewise. From-SVN: r44322
This commit is contained in:
parent
5a2aa3bd76
commit
0c23768840
@ -1,3 +1,9 @@
|
||||
2001-07-24 Lars Brinkhoff <lars@nocrew.org>
|
||||
|
||||
* stor-layout.c (get_mode_alignment): make it work when
|
||||
BITS_PER_UNIT is not a power of two.
|
||||
* builtins.c (get_pointer_alignment): Likewise.
|
||||
|
||||
2001-07-24 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* simplify-rtx.c (avoid_constant_pool_reference): Coerce
|
||||
|
@ -186,8 +186,8 @@ get_pointer_alignment (exp, max_align)
|
||||
if (! host_integerp (TREE_OPERAND (exp, 1), 1))
|
||||
return align;
|
||||
|
||||
while (((tree_low_cst (TREE_OPERAND (exp, 1), 1) * BITS_PER_UNIT)
|
||||
& (max_align - 1))
|
||||
while (((tree_low_cst (TREE_OPERAND (exp, 1), 1))
|
||||
& (max_align / BITS_PER_UNIT - 1))
|
||||
!= 0)
|
||||
max_align >>= 1;
|
||||
|
||||
|
@ -1866,10 +1866,11 @@ unsigned int
|
||||
get_mode_alignment (mode)
|
||||
enum machine_mode mode;
|
||||
{
|
||||
unsigned int alignment = GET_MODE_UNIT_SIZE (mode) * BITS_PER_UNIT;
|
||||
unsigned int alignment = GET_MODE_UNIT_SIZE (mode);
|
||||
|
||||
/* Extract the LSB of the size. */
|
||||
alignment = alignment & -alignment;
|
||||
alignment *= BITS_PER_UNIT;
|
||||
|
||||
alignment = MIN (BIGGEST_ALIGNMENT, MAX (1, alignment));
|
||||
return alignment;
|
||||
|
Loading…
Reference in New Issue
Block a user