From 9f887d05bb41e10e50f7fab20f492c1b49a7bb44 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 27 Nov 1999 14:55:36 +0000 Subject: [PATCH] expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is known to be multiple of divisor. * expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is known to be multiple of divisor. From-SVN: r30677 --- gcc/ChangeLog | 3 +++ gcc/expr.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e378c87d73d..c448f0fedcf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ Sat Nov 27 08:38:26 1999 Richard Kenner + * 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 diff --git a/gcc/expr.c b/gcc/expr.c index 5fc55e52572..4f9f439b88a 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -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);