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: Roman Zippel <zippel at linux-m68k dot org>
- Subject: Re: [patch] Fix push on h8300.
- From: Graham Stott <grahams at redhat dot com>
- Date: Tue, 31 Jul 2001 19:53:47 +0100
- Cc: Kazu Hirata <kazu at hxi dot com>, gcc-patches at gcc dot gnu dot org
- References: <Pine.LNX.4.33.0107311459050.7468-100000@serv>
Roman
Roman Zippel wrote:
>
> 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:
>
OK I used m68k-elf target and get the abort compiling libstdc++.
> 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"
I was wondering about that because I got an unrecognised insn
abort when I disabled my function.c patch.
Graham