OSDN Git Service

* expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 27 Nov 1999 14:55:36 +0000 (14:55 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 27 Nov 1999 14:55:36 +0000 (14:55 +0000)
known to be multiple of divisor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30677 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/expr.c

index e378c87..c448f0f 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 5fc55e5..4f9f439 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);