aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>2001-05-11 01:56:12 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2001-05-10 21:56:12 -0400
commitf1eaaf73c5b21ea690559422b3b14ed4e46ad2a6 (patch)
tree02d6a4a301efb3a16514dae87b553a8b33a862ef /gcc/expr.c
parentdac975d3d9c4d3eb1795075106e82debb39ec9d0 (diff)
downloadgcc-f1eaaf73c5b21ea690559422b3b14ed4e46ad2a6.zip
gcc-f1eaaf73c5b21ea690559422b3b14ed4e46ad2a6.tar.gz
gcc-f1eaaf73c5b21ea690559422b3b14ed4e46ad2a6.tar.bz2
expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to bytes.
* expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to bytes. Reported by Kazu Hirata <kazu@hxi.com>. From-SVN: r41956
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index cdabedd..0f75b69 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1511,7 +1511,7 @@ move_by_pieces (to, from, len, align)
}
/* Return number of insns required to move L bytes by pieces.
- ALIGN (in bytes) is maximum alignment we can assume. */
+ ALIGN (in bits) is maximum alignment we can assume. */
static unsigned HOST_WIDE_INT
move_by_pieces_ninsns (l, align)
@@ -3177,7 +3177,7 @@ emit_single_push_insn (mode, x, type)
SIZE is an rtx for the size of data to be copied (in bytes),
needed only if X is BLKmode.
- ALIGN is maximum alignment we can assume.
+ ALIGN (in bits) is maximum alignment we can assume.
If PARTIAL and REG are both nonzero, then copy that many of the first
words of X into registers starting with REG, and push the rest of X.
@@ -3280,7 +3280,8 @@ emit_push_insn (x, mode, type, size, align, partial, reg, extra,
and such small pushes do rounding that causes trouble. */
&& ((! SLOW_UNALIGNED_ACCESS (word_mode, align))
|| align >= BIGGEST_ALIGNMENT
- || PUSH_ROUNDING (align) == align)
+ || (PUSH_ROUNDING (align / BITS_PER_UNIT)
+ == (align / BITS_PER_UNIT)))
&& PUSH_ROUNDING (INTVAL (size)) == INTVAL (size))
{
/* Push padding now if padding above and stack grows down,