Coldfire bug in GCC
Kai Ruottu
karuottu@freenet.hut.fi
Fri Jan 22 14:27:00 GMT 1999
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.
More information about the crossgcc
mailing list