expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is known to be multiple...
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Sat, 27 Nov 1999 14:55:36 +0000 (14:55 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Sat, 27 Nov 1999 14:55:36 +0000 (09:55 -0500)
* expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is
known to be multiple of divisor.

From-SVN: r30677

gcc/ChangeLog
gcc/expr.c

index e378c87d73d2f93bfceed06bd6d6b56c712a12eb..c448f0fedcfd13aedfb670523aacc9d0ec09e79f 100644 (file)
@@ -1,5 +1,8 @@
 Sat Nov 27 08:38:26 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
+       * expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is
+       known to be multiple of divisor.
+
        * expr.c (store_constructor): Don't clobber TARGET if CLEARED.
 
        * combine.c (try_combine): Add code to try to merge a set of a
index 5fc55e5257241f5e8a3ed2b635b004a90d65517f..4f9f439b88a0b5898865acb6c7f9314f6f87fea0 100644 (file)
@@ -4185,7 +4185,7 @@ store_constructor (exp, target, align, cleared)
                offset = build (WITH_RECORD_EXPR, sizetype,
                                offset, make_tree (TREE_TYPE (exp), target));
 
-             offset = size_binop (FLOOR_DIV_EXPR, offset,
+             offset = size_binop (EXACT_DIV_EXPR, offset,
                                   size_int (BITS_PER_UNIT));
 
              offset_rtx = expand_expr (offset, NULL_RTX, VOIDmode, 0);