aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1997-01-04 18:58:26 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1997-01-04 18:58:26 -0500
commitc7554b2898aae6a067dc37a37556f3b70fb3db78 (patch)
tree580790b9421059924ab8bb02f309b35cfca566f8 /gcc
parent1a6ec0703b7187362c9c81abf0fb78f66f468e5c (diff)
downloadgcc-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.c5
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.