This is the mail archive of the
mailing list for the GCC project.
Re: PATCH for invalid opcode on m68k
- To: Kamil Iskra <kamil at dwd dot interkom dot pl>
- Subject: Re: PATCH for invalid opcode on m68k
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Mon, 06 Jul 1998 22:21:59 -0600
- cc: egcs-patches at cygnus dot com, David Zaroski <zaroski at firewall dot ninemoons dot com>
- Reply-To: law at cygnus dot com
In message <Pine.LNX.3.96.980706190744.490Aemail@example.com>you write:
> The following testcase:
> void g(long long);
> long long f(long long v1, long long v2, long long v3, long long v4)
> return v1 && v2;
I've installed this into the testsuite.
> This is because on m68000, unlike on m68020 and better, tstl does not
> accept address register as parameter. cmpw #0 has to be used instead.
> I can see from ChangeLog.11 that a number of such problems have
> already been fixed in m68k.md (17 Mar 1997, J.T. Conklin), apparently
> this particular one was missed since the code is in m68k.c.
Yea. This has been a source of problems for the codefire port.
> Mon Jul 6 18:20:27 1998 Kamil Iskra <firstname.lastname@example.org>
> * m68k/m68k.c (output_scc_di): Use cmpw #0 instead of tstl when
> testing address registers on the 68000.