This is the mail archive of the
mailing list for the GCC project.
Re: 3.1 m68k/coldfire code gen problem!!
- From: "Philippe De Muyter" <phdm at macqel dot be>
- To: joel dot sherrill at OARcorp dot com
- Cc: gcc at gcc dot gnu dot org, law at redhat dot com, Mark Mitchell <mark at codesourcery dot com>
- Date: Wed, 15 May 2002 14:04:27 +0200 (CEST)
- Subject: Re: 3.1 m68k/coldfire code gen problem!!
Joel Sherrill wrote :
> bash-2.05$ m68k-rtems-gcc -m5200 -O4 -c testcase.c
> /tmp/ccQJLRmU.s: Assembler messages:
> /tmp/ccQJLRmU.s:90: Error: operands mismatch -- statement `ext.l %a1'
I have checked the m68k.md patterns to find where a "r" constraint was used
for an ext.l operand and I think the culprit is the `tablejump+2' pattern.
(look for `ASM_OUTPUT_CASE_LABEL')
A simple hack would be to replace the "r" constraint with a "d" constraint,
but that would lead to code pessimization for non-coldfire m68k processors.
The real fix would be to differentiate the pattern for coldfire (with "d"
constraint) and non-coldfire (with "r" constraint) cases.
I hope this helps
Philippe De Muyter email@example.com Tel +32 27029044
Macq Electronique SA rue de l'Aeronef 2 B-1140 Bruxelles Fax +32 27029077