This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Coldfire bug in GCC


I wrote:

> ----------- clip ---------------------------------------------
> *** m68k.md.orig	Wed Nov 18 15:18:56 1998
> --- m68k.md	Fri Jan 22 21:07:21 1999
> ***************
> *** 4566,4572 ****
>     operands[1] = gen_rtx_REG (SImode, REGNO (operands[0]) + 1);
>     if (INTVAL (operands[2]) == 1)
>       return \"add%.l %1,%1\;addx%.l %0,%0\";
> !   else if (INTVAL (operands[2]) == 8)
>       return \"rol%.l %#8,%1\;rol%.l %#8,%0\;move%.b %1,%0\;clr%.b %1\";
>     else if (INTVAL (operands[2]) == 16)
>       return \"swap %1\;swap %0\;move%.w %1,%0\;clr%.w %1\";
> --- 4566,4572 ----
>     operands[1] = gen_rtx_REG (SImode, REGNO (operands[0]) + 1);
>     if (INTVAL (operands[2]) == 1)
>       return \"add%.l %1,%1\;addx%.l %0,%0\";
> !   else if (!TARGET_5200 && (INTVAL (operands[2]) == 8))
>       return \"rol%.l %#8,%1\;rol%.l %#8,%0\;move%.b %1,%0\;clr%.b %1\";
>     else if (INTVAL (operands[2]) == 16)
>       return \"swap %1\;swap %0\;move%.w %1,%0\;clr%.w %1\";
> ----------- clip ---------------------------------------------
>
> Then it generates the following:
> ---
>       asl.l #-24,%d3
>       mov.l %d3,%d2
>       moveq #0,%d3
> ---

Seems that neither this will be approved by the assembler...

Either I look at it for the third time or raise my hands.

Cheers, Kai
_______________________________________________
New CrossGCC FAQ: http://www.objsw.com/CrossGCC
_______________________________________________
To remove yourself from the crossgcc list, send
mail to crossgcc-request@cygnus.com with the
text 'unsubscribe' (without the quotes) in the
body of the message.