This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Fix push on h8300.
- To: Graham Stott <grahams at redhat dot com>
- Subject: Re: [patch] Fix push on h8300.
- From: Roman Zippel <zippel at linux-m68k dot org>
- Date: Tue, 31 Jul 2001 15:13:35 +0200 (CEST)
- cc: Roman Zippel <zippel at linux-m68k dot org>, Kazu Hirata <kazu at hxi dot com>, <gcc-patches at gcc dot gnu dot org>
Hi,
On Tue, 31 Jul 2001, Graham Stott wrote:
> > BTW it also breaks m68k.
> >
> OK what's the m68k host triple and where does it break?
linux-m68k. It breaks during libstdc++ build, but this also shows the
problem:
struct s {};
void f1(s);
void f2(void)
{
f1(s());
}
BTW you will probably need this patch:
Index: config/m68k/m68k.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/m68k/m68k.md,v
retrieving revision 1.44
diff -u -r1.44 m68k.md
--- m68k.md 2001/07/31 03:45:08 1.44
+++ m68k.md 2001/07/31 13:11:21
@@ -1425,6 +1432,15 @@
(match_operand:SI 1 "address_operand" "p"))]
""
"pea %a1")
+
+(define_expand "pushqi1"
+ [(set (reg:SI 15)
+ (plus:SI (reg:SI 15) (const_int -2)))
+ (set (mem:QI (plus:SI (reg:SI 15)
+ (const_int 1)))
+ (match_operand:QI 0 "general_operand" ""))]
+ ""
+ "")
;; truncation instructions
(define_insn "truncsiqi2"