diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1997-01-04 18:58:26 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1997-01-04 18:58:26 -0500 |
commit | c7554b2898aae6a067dc37a37556f3b70fb3db78 (patch) | |
tree | 580790b9421059924ab8bb02f309b35cfca566f8 /gcc | |
parent | 1a6ec0703b7187362c9c81abf0fb78f66f468e5c (diff) | |
download | gcc-c7554b2898aae6a067dc37a37556f3b70fb3db78.zip gcc-c7554b2898aae6a067dc37a37556f3b70fb3db78.tar.gz gcc-c7554b2898aae6a067dc37a37556f3b70fb3db78.tar.bz2 |
(store_fixed_bit_field): If not SLOW_UNALIGNED_ACCESS, treat
everything as maximally aligned.
From-SVN: r13371
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/expmed.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c index c7744c7..a2adbd1 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -1,6 +1,6 @@ /* Medium-level subroutines: convert bit-field store and extract and shifts, multiplies and divides to rtl instructions. - Copyright (C) 1987, 88, 89, 92-5, 1996 Free Software Foundation, Inc. + Copyright (C) 1987, 88, 89, 92-6, 1997 Free Software Foundation, Inc. This file is part of GNU CC. @@ -557,6 +557,9 @@ store_fixed_bit_field (op0, offset, bitsize, bitpos, value, struct_align) int all_zero = 0; int all_one = 0; + if (! SLOW_UNALIGNED_ACCESS) + struct_align = BIGGEST_ALIGNMENT / BITS_PER_UNIT; + /* There is a case not handled here: a structure with a known alignment of just a halfword and a field split across two aligned halfwords within the structure. |