From 28734c3906bf82c85fa3ca4c5a19c0d4e3dc5dbd Mon Sep 17 00:00:00 2001
From: Andy Hutchinson <hutchinsonandy@aim.com>
Date: Wed, 4 Jun 2008 22:02:57 +0000
Subject: [PATCH] re PR target/27386 (AVR: wrong code generated when passing
 three uint64_t arguments to function)

PR target/27386
* config/avr/avr.h: (PUSH_ROUNDING): Remove.

From-SVN: r136377
---
 gcc/ChangeLog        | 5 +++++
 gcc/config/avr/avr.h | 4 +++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d1930ad7ceea..366eb3fb7fbc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-04  Andy Hutchinson  <hutchinsonandy@aim.com>
+
+	PR target/27386
+	* config/avr/avr.h: (PUSH_ROUNDING): Remove.
+
 2008-06-04  Andy Hutchinson  <hutchinsonandy@aim.com>
 
 	PR target/30243
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index 4cd0f24517e7..6ae1c63d01e7 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -360,7 +360,9 @@ enum reg_class {
 #define RETURN_ADDR_RTX(count, x) \
   gen_rtx_MEM (Pmode, memory_address (Pmode, plus_constant (tem, 1)))
 
-#define PUSH_ROUNDING(NPUSHED) (NPUSHED)
+/* Don't use Push rounding. expr.c: emit_single_push_insn is broken 
+   for POST_DEC targets (PR27386).  */
+/*#define PUSH_ROUNDING(NPUSHED) (NPUSHED)*/
 
 #define RETURN_POPS_ARGS(FUNDECL, FUNTYPE, STACK_SIZE) 0
 
-- 
GitLab