From 1f09b8d9086a0ce50519de02792793160b53f2ea Mon Sep 17 00:00:00 2001 From: kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Thu, 30 Mar 2000 14:12:28 +0000 Subject: [PATCH] * expmed.c (store_fixed_bit_field): STRUCT_ALIGN is in bits. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32830 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 2 ++ gcc/expmed.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fcd042bbfc5d..df3176efbe46 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,7 @@ Thu Mar 30 06:32:51 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + * expmed.c (store_fixed_bit_field): STRUCT_ALIGN is in bits. + * calls.c (expand_call): Pass bit alignment to mark_reg_pointer. * explow.c (memory_address, allocate_dynamic_stack_space): Likewise. * function.c (assign_parms): Likewise. diff --git a/gcc/expmed.c b/gcc/expmed.c index 07e9e827a8fc..79ea3c9afc17 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -646,7 +646,7 @@ store_fixed_bit_field (op0, offset, bitsize, bitpos, value, struct_align) int all_one = 0; if (! SLOW_UNALIGNED_ACCESS (word_mode, struct_align)) - struct_align = BIGGEST_ALIGNMENT / BITS_PER_UNIT; + struct_align = BIGGEST_ALIGNMENT; /* There is a case not handled here: a structure with a known alignment of just a halfword @@ -674,7 +674,7 @@ store_fixed_bit_field (op0, offset, bitsize, bitpos, value, struct_align) a word, we won't be doing the extraction the normal way. */ mode = get_best_mode (bitsize, bitpos + offset * BITS_PER_UNIT, - struct_align * BITS_PER_UNIT, word_mode, + struct_align, word_mode, GET_CODE (op0) == MEM && MEM_VOLATILE_P (op0)); if (mode == VOIDmode) -- GitLab