* expmed.c (store_fixed_bit_field): STRUCT_ALIGN is in bits.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Thu, 30 Mar 2000 14:12:28 +0000 (14:12 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Thu, 30 Mar 2000 14:12:28 +0000 (09:12 -0500)
From-SVN: r32830

gcc/ChangeLog
gcc/expmed.c

index fcd042bbfc5d63f968e7fef1deb77b8dd6cdb617..df3176efbe46e982dd3d4c9e2ebd15e653ff850b 100644 (file)
@@ -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.
index 07e9e827a8fc85a81faa334048c796e9438a8fdd..79ea3c9afc17be3ccff0a80f4f942245fdae89f3 100644 (file)
@@ -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)