machmode.h (get_mode_alignment): Declare.
* machmode.h (get_mode_alignment): Declare. (GET_MODE_ALIGNMENT): Call it. * stor-layout.c (get_mode_alignment): New function. Make sure alignment is always power of 2. From-SVN: r32134
This commit is contained in:
parent
da3a471976
commit
36c265b175
@ -1,3 +1,10 @@
|
||||
2000-02-24 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* machmode.h (get_mode_alignment): Declare.
|
||||
(GET_MODE_ALIGNMENT): Call it.
|
||||
* stor-layout.c (get_mode_alignment): New function. Make
|
||||
sure alignment is always power of 2.
|
||||
|
||||
2000-02-23 Zack Weinberg <zack@wolery.cumb.org>
|
||||
|
||||
* i386.h: Remove useless definition of "I386" and misleading
|
||||
|
@ -125,9 +125,9 @@ extern enum machine_mode get_best_mode PARAMS ((int, int, unsigned int,
|
||||
|
||||
/* Determine alignment, 1<=result<=BIGGEST_ALIGNMENT. */
|
||||
|
||||
#define GET_MODE_ALIGNMENT(MODE) \
|
||||
(unsigned int) MIN (BIGGEST_ALIGNMENT, \
|
||||
MAX (1, (GET_MODE_UNIT_SIZE (MODE) * BITS_PER_UNIT)))
|
||||
extern unsigned get_mode_alignment PARAMS ((enum machine_mode));
|
||||
|
||||
#define GET_MODE_ALIGNMENT(MODE) get_mode_alignment (MODE)
|
||||
|
||||
/* For each class, get the narrowest mode in that class. */
|
||||
|
||||
|
@ -1528,6 +1528,23 @@ get_best_mode (bitsize, bitpos, align, largest_mode, volatilep)
|
||||
return mode;
|
||||
}
|
||||
|
||||
/* Return the alignment of MODE. This will be bounded by 1 and
|
||||
BIGGEST_ALIGNMENT. */
|
||||
|
||||
unsigned get_mode_alignment (mode)
|
||||
enum machine_mode mode;
|
||||
{
|
||||
unsigned 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;
|
||||
}
|
||||
|
||||
/* This function is run once to initialize stor-layout.c. */
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user