Commit decd7a45 authored by dje's avatar dje
Browse files

* expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to

        bytes.  Reported by Kazu Hirata <kazu@hxi.com>.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41956 138bc75d-0d04-0410-961f-82ee72b054a4
parent 1413a045
2001-05-10 David Edelsohn <edelsohn@gnu.org>
* expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
bytes. Reported by Kazu Hirata <kazu@hxi.com>.
2001-05-10 David Edelsohn <edelsohn@gnu.org>
* expr.c (emit_group_load): extract_bit_field requires a REG or
......
......@@ -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,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment