diff options
author | DJ Delorie <dj@redhat.com> | 2001-02-28 17:54:22 -0500 |
---|---|---|
committer | DJ Delorie <dj@gcc.gnu.org> | 2001-02-28 17:54:22 -0500 |
commit | d676911f3469407786c3b65d3cd98e6ddd5244a5 (patch) | |
tree | 6e1c36cd7c7126bdaa8a3c2bd3158590076bfd11 | |
parent | d448e3e9581839ed2228eeece8acc0462a170e02 (diff) | |
download | gcc-d676911f3469407786c3b65d3cd98e6ddd5244a5.zip gcc-d676911f3469407786c3b65d3cd98e6ddd5244a5.tar.gz gcc-d676911f3469407786c3b65d3cd98e6ddd5244a5.tar.bz2 |
m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes, since that doesn't work the way gcc wants on a generic m68k.
* config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
since that doesn't work the way gcc wants on a generic m68k.
From-SVN: r40138
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/m68k/m68k.h | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b9cd110..a14925e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-02-28 DJ Delorie <dj@redhat.com> + + * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes, + since that doesn't work the way gcc wants on a generic m68k. + 2001-02-28 Richard Henderson <rth@redhat.com> * caller-save.c (save_call_clobbered_regs): Fix typo in diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index c20cba1..f12981e 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -921,6 +921,11 @@ extern enum reg_class regno_reg_class[]; On the 5200 (coldfire), sp@- in a byte insn pushes just a byte. */ #define PUSH_ROUNDING(BYTES) (TARGET_5200 ? BYTES : ((BYTES) + 1) & ~1) +/* We want to avoid trying to push bytes. */ +#define MOVE_BY_PIECES_P(SIZE, ALIGN) \ + (move_by_pieces_ninsns (SIZE, ALIGN) < MOVE_RATIO \ + && (((SIZE) >=16 && (ALIGN) >= 16) || (TARGET_5200))) + /* Offset of first parameter from the argument pointer register value. */ #define FIRST_PARM_OFFSET(FNDECL) 8 |